箭头函数的this指向谁

 2024-11-01 22:03:01  阅读 251  评论 0

摘要:(1)默认指向定义它时,所处上下文的对象的this指向。即ES6箭头函数里this的指向就是上下文里对象this指向,偶尔没有上下文对象,this就指向window(2)即使是call,apply,bind等方法也不能改变箭头函数this的指向扩展资料一些实例加深印象(1)hello是全局函数,没有直接调

(1)默认指向定义它时,所处上下文的对象的this指向。即ES6箭头函数里this的指向就是上下文里对象this指向,偶尔没有上下文对象,this就指向window

(2)即使是call,apply,bind等方法也不能改变箭头函数this的指向

箭头函数的this指向谁

扩展资料

一些实例加深印象

(1)hello是全局函数,没有直接调用它的对象,也没有使用严格模式,this指向window

function hello() {

console.log(this); // window

}

hello();

(2)hello是全局函数,没有直接调用它的对象,但指定了严格模式('use strict'),this指向undefined

function hello() {

'use strict';

console.log(this); // undefined

}

hello();

(3)hello直接调用者是obj,第一个this指向obj,setTimeout里匿名函数没有直接调用者,this指向window

const obj = {

num: 10,

hello: function () {

console.log(this);// obj

setTimeout(function () {

console.log(this);// window

});

}

}

obj.hello();

(4)hello直接调用者是obj,第一个this指向obj,setTimeout箭头函数,this指向最近的函数的this指向,即也是obj

const obj = {

num: 10,

hello: function () {

console.log(this);// obj

setTimeout(() => {

console.log(this);// obj

});

}

}

obj.hello();

(5)diameter是普通函数,里面的this指向直接调用它的对象obj。perimeter是箭头函数,this应该指向上下文函数this的指向,这里上下文没有函数对象,就默认为window,而window里面没有radius这个属性,就返回为NaN。

const obj = {

radius: 10,

diameter() {

return this.radius * 2

},

perimeter: () => 2 * Math.PI * this.radius

}

console.log(obj.diameter())// 20

console.log(obj.perimeter())// NaN

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【箭头函数的this指向谁】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/news/121108.html

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.1659秒, 内存占用1.98 MB, 访问数据库22次

陕ICP备14005772号-15