以下如何输出“ undefined”而不是“ number”?
<script>
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
console.log(typeof (f = foo.bar)());
</script>
注意:该代码完全正确,而不是错字。我的意思是(f = foo.bar)() 仅在这里是有效代码。
答案 0 :(得分:3)
因为在执行时上下文是“窗口”,所以在窗口对象上没有声明变量“ baz”。