js中this,箭头函数和普通函数

四种基本用法

1. 一般方法中,this代指全局对象 window

2. 作为对象方法调用,this代指当前对象

3. 作为构造函数调用,this 指代new 出的对象

function test(){
  this.x = 1;
}
var o = new test();
alert(o.x); //1

4. 调用方法的apply和call方法,可以改变函数的调用对象/作用域 (this)用法:

  f.apply([thisObj [,argArray] ]);

  f.call([thisObject[,arg1 [,arg2 [,...,argn]]]]);

当省略 thisObj 或为 null 时,全局对象window作为调用对象/作用域 (this)

 

es6 箭头函数  ,普通函数

廖雪峰 箭头函数

箭头函数的this总是指向词法作用域,也就是外层调用者obj

由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略

深入理解javascript作用域系列第二篇——词法作用域和动态作用域

 

posted @ 2018-09-23 10:30  Luking  阅读(4938)  评论(0编辑  收藏  举报