为什么在JS示例中输出给出的是'undefined'而不是'number'?

时间:2019-02-26 07:56:25

标签: javascript html this

以下如何输出“ undefined”而不是“ number”?

<script>

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

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

</script>

  

注意:该代码完全正确,而不是错字。我的意思是(f = foo.bar)()   仅在这里是有效代码。

1 个答案:

答案 0 :(得分:3)

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