看了一些关于this指向的帖子 对帖子上的问题进行了改进 于是用帖子的方法回答不出来了function foo() {
console.log(this)
} var obj = {
a: 2,
foo:foo
};
obj.foo()这是帖子上的原题 我理解是 foo:foo 就是把foo函数赋值给obj的foo方法 所以obj调用方法的时候 this就指向自身了 于是我就想 如果我把题改成function foo() {
console.log(this)
} var obj = {
a: 2,
foo:foo()
};
obj.foo执行结果是不是一样呢?然后经过我的分析 我认为 这个代码段是等价于下面的var obj = {
a: 2,
foo:console.log(this)
};
obj.foo问题1 第2个代码段 是不是等价于第3个代码段 这个想法有没有问题问题2 第2 第3个代码段 console出来的结果 为什么this会指向window实在想不出来了 唯一能想到的就是语法本身就不对?
添加回答
举报
0/150
提交
取消