摘要:
题目1if (!("a" in window)) { var a = 1;}alert(a);代码含义:如果window不包含属性a,就声明一个变量a,然后赋值为1。你可能认为alert出来的结果是1,然后实际结果是“undefined”。要了解为什么,需要知道JavaScript里的3个概念。首先,所有的全局变量都是window的属性,语句 var a = 1;等价于window.a = 1; 你可以用如下方式来检测全局变量是否声明:"变量名称" in window第二,所有的变量声明都在范围作用域的顶部,看一下相似的例子:alert("a& 阅读全文