看了一些关于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
实在想不出来了 唯一能想到的就是语法本身就不对?
慕田峪4524236
随时随地看视频慕课网APP
相关分类