JavaScript 箭头函数调用

示例

6

使用箭头函数时this,将从封闭的执行上下文中获取值this(即,this箭头函数具有词法作用域,而不是通常的动态作用域)。在全局代码(不属于任何函数的代码)中,它将是全局对象。即使您从此处描述的任何其他方法调用用箭头表示法声明的函数,它也保持这种方式。

var globalThis = this; //"window" in a browser, or "global" in Node.js

var foo = (() => this);           

console.log(foo() === globalThis);          //true

var obj = { name: "Foo" };

console.log(foo.call(obj) === globalThis);  //true


了解如何this继承上下文,而不是引用方法被调用的对象。

var globalThis = this;

var obj = {

    withoutArrow: function() {

        return this;

    },

    withArrow: () => this

};

console.log(obj.withoutArrow() === obj);      //true

console.log(obj.withArrow() === globalThis);  //true

var fn = obj.withoutArrow; //不再调用noArrow作为方法

var fn2 = obj.withArrow;

console.log(fn() === globalThis);             //true

console.log(fn2() === globalThis);            //true

以上是 JavaScript 箭头函数调用 的全部内容, 来源链接: utcz.com/z/337881.html

回到顶部