编辑 看起来这是我的一个问题,我对 jsfiddle 的使用:?
最近看了几篇关于吊装的文章,一篇是Nicholas Zakas的,另一篇是Ben Cherry 的。
我试图按照这些示例进行测试,以确保我完全掌握它,但我主要遇到这个示例的问题,
if (!('a' in window)) {
var a = 1;
}
console.log(a);
而不是记录undefined
其 logging 1
。如果我正确理解所有内容,a
应该是undefined
,因为它应该存在于窗口范围内,因为 var 语句被提升到顶部,所以它不应该被赋值。
但以下是按预期行事,
(function bar(){
console.log(foo);
var foo = 10;
console.log(baz);
})();
foo
是undefined
,并且baz
没有定义。我对这两个例子都很感兴趣。真的只是想解决这个问题。自从写了这些文章以来,有什么变化吗?如果有人能对此有所了解,将不胜感激。我在测试时使用 Chrome 14。