this的四种绑定方式
-
默认绑定
-
//独立函数调用时绑定 function foo(){ "use strict"; console.log(this.a); } var a=2; foo();//TypeError: this is undefined -
function foo(){ //"use strict"; console.log(this.a); } var a=2; foo();//2
-
-
隐式绑定
- 绑定对象链最后一层的this
- 隐式丢失
- 转引用的问题,学过C++应该好理解,类似传原始函数的指针
-
显示绑定
- call、apply、bind
-
new绑定
- 优先级:new>显示绑定>隐式绑定
-
绑定例外
- 使用null、undfined或者自定义空对象(使用Object.create(null))展开数组作为参数或者对函数柯里化
-
软绑定
- 书p98,了解即可
-
箭头函数,ES6
- 建议不要混用
本文详细探讨了JavaScript中this的四种绑定方式:默认绑定、独立函数调用、隐式绑定、显示绑定(包括call/apply/bind)和new绑定,以及绑定例外和箭头函数的特性。理解这些绑定有助于开发者避免常见的this指向问题。
3117

被折叠的 条评论
为什么被折叠?



