什么时候不该使用es6箭头函数
答案:1 悬赏:0 手机版
解决时间 2021-11-21 01:38
- 提问者网友:一抹荒凉废墟
- 2021-11-20 10:56
什么时候不该使用es6箭头函数
最佳答案
- 五星知识达人网友:玩家
- 2021-11-20 12:08
想了一下,大概有以下几种情况吧:
this.setAttribute( 'clicked', 1 ); // 这个 this 指向 document.body
}, false );
document.body.addEventListener( 'click', () => {
console.log( this ); // this 指向 window
}, false );
3. 在函数里面需要调用内部 arguments 的时候
箭头函数没有自己的 arguments 变量,所以如果函数内部要调用 arguments 变量,不可以使用箭头函数。但是也可以通过一些其他方式解决,比如:
const foo = ( ...args ) => {
console.log( args ); // args 和 function 函数的 arguments 类似
};
- 不支持箭头函数的环境
目前支持箭头函数的环境毕竟还不多,仅 Safari、Chrome、Firefox 较新版本,Microsoft Edge、NodeJS 4.x、NodeJS 6.x 支持。IE 全系列都不支持。
在函数里面需要使用 this 变量的时候
箭头函数中没有自己的 this 变量,在箭头函数内部调用的 this 实际上是函数作用域之外的 this,所以如果对 this 有调用需求,就不可以用箭头函数,比如给 dom 绑定事件:
this.setAttribute( 'clicked', 1 ); // 这个 this 指向 document.body
}, false );
document.body.addEventListener( 'click', () => {
console.log( this ); // this 指向 window
}, false );
3. 在函数里面需要调用内部 arguments 的时候
箭头函数没有自己的 arguments 变量,所以如果函数内部要调用 arguments 变量,不可以使用箭头函数。但是也可以通过一些其他方式解决,比如:
const foo = ( ...args ) => {
console.log( args ); // args 和 function 函数的 arguments 类似
};
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯