前言
javascript中的函数的this指针指向一直是一个比较难搞懂得一点,最近也遇到了,正好借此总结一下。
this指针
| 调用方式 | 示例 | 函数中的this指向 |
|---|---|---|
| 通过new调用 | new method() | 新对象 |
| 直接调用 | method | 全局对象 |
| 通过对象调用 | obj.method() | 前面的对象 |
| call,apply,bind | method.call(obj) | 第一个参数 |
const obj = {
a:1,
method:function(){
console.log(this.a);
}
};
const method =obj.method;
new method();
// undefined
obj.method();
// 1
method();
// undefined
method.call(obj);
// 1箭头函数
箭头函数中的this指针和正常的函数的this指针有些略有不同:
箭头函数不创建独立的this上下文,其内部的this直接继承自定义时所在的外层作用域(词法作用域)。
且不可通过call,apply,bind更改this指向。
const obj = {
a:1,
method:()=>{
console.log(this.a);
}
};
obj.method();
// undefined
已有 2 条评论
看完啦 _(:з」∠)_
@AAA.LZY 😀😁😆😃😄