为什么输出在JS示例中给出'undefined'而不是'number'? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

世界上如何输出“未定义”而不是“数字”?

<script>

var foo = {
  bar: function(){ return this.baz; },
  baz: 1
}

console.log(typeof (f = foo.bar)());

</script>

注意:代码完全正确,而不是拼写错误。我的意思是(f = foo.bar)()这里只是一个有效的代码。

javascript html this
1个回答
3
投票

因为在执行时,上下文是“窗口”,所以在窗口对象上没有声明变量“baz”。

© www.soinside.com 2019 - 2024. All rights reserved.