关于this的总结
作者:
孙二柯 | 来源:发表于
2021-07-21 00:48 被阅读0次
- 沿着作用域向上着最近的一个function(不是箭头函数),看这个function最终是怎么执行的
- this的指向取决于所属function的调用方式,而不是定义
- function 调用一半分为这几种情况:
1. 作为函数调用: foo()
指向全局对象(globalThis),严格模式下是undefined
2.作为方法调用,即:foo.bar() /foo.bar.baz()/foo['bar'] /foo0
指向调用这个方法的对象
3.作为构造函数使用,即: new Foo()
指向一个新对象 'Foo{ }'
4.特殊调用,即 foo.call() foo.apply() foo.bind()
参数指定成员
4.找不到所属的function,就是全局对象
var length = 10
function fn() {
console.log(this.length)
}
const obj = {
length: 5,
method(fn) {
fn() // 作为函数调用 this.指向全局对象 10
arguments[0]() // 作为方法调用 this指向的是arguments对象 arguments.length为3
}
}
obj.method(fn, 1, 2)
本文标题:关于this的总结
本文链接:https://www.haomeiwen.com/subject/gtudmltx.html
网友评论