点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!
ES6箭头函数使用call,apply之后this的指向。


箭头函数this


A. 箭头函数内部的this是词法作用域,有上下文确定。
B. 箭头函数this是在‘定义函数’的时候绑定,而不是在‘执行函数’的时候绑定。
*词法作用域就是,你在写代码的时候就已经决定了变量的作用域,因此当词法分析器处理代码时会保持作用域不变。
Javascript使用的是词法作用域。
它最重要的特征是,它的定义过程发生在代码的书写阶段。


函数的主要特性


A. 箭头函数没有自己的this对象。
B. 箭头函数的this永远指向其父作用域。
C. 任何方法都改变不了this,包括call,apply,bind。
代码示例,如图:


说明call无法改变this指向,全局this指向的是window对象,fn函数也是全局, fn函数this指向全局,也就是window对象,等同于window.obj指向了window.fn,而所有函数和对象都是window对象的属性,apply同理, 所以两次的值都为1,如图:

END
本文作者:朱 维
本文来源:IT那活儿(上海新炬王翦团队)

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




