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

Posted Luking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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作用域系列第二篇——词法作用域和动态作用域

 

以上是关于js中this,箭头函数和普通函数的主要内容,如果未能解决你的问题,请参考以下文章

箭头函数和立即执行函数

箭头函数中this的指向问题

箭头函数和 this指向

箭头函数 解构赋值 立即执行函数 (function() )()

Vue中匿名函数和箭头函数的this

this的用法-箭头函数+面试题