我打算给 String 对象增加一个方法,用来对 字符串做一些处理。
String.prototype.asd = () => {
console.log(this);
}
'aaa'.asd();
但是这个代码,打印的this , 是window对象。
如何做才能得到这个 对象本身 , 输出 aaa
我打算给 String 对象增加一个方法,用来对 字符串做一些处理。
String.prototype.asd = () => {
console.log(this);
}
'aaa'.asd();
但是这个代码,打印的this , 是window对象。
如何做才能得到这个 对象本身 , 输出 aaa
一个闭包看懂箭头函数this的三准则
准则一:箭头函数【本身的this】→<绑定>→【上下文的this】
准则二:箭头函数【本身的this】→<无法被>→call、apply、bind【改变】
准则三:箭头函数【上下文的this】→<可以被>→【改变】
不应该使用箭头函数的场合举例:
应该使用箭头函数的场合举例:
setTimeout的特有特性:setTimeout内的this,与上下文函数foo的this,两者是分离的不相干的
所以修改为: