(编辑:jimmy 日期: 2024/10/11 浏览:2)
虽然可以先使用再声明,但这样会造成赋值的效果丢失。如下
复制代码 代码如下:
alert(a);
var a = 1;
这次输出的仍然是undefined而非1。
又如,
复制代码 代码如下:
alert('a' in window); // true
var a;
虽然代码形式上写在alert后,引擎仍然先自动处理var的声明。最后输出的是true。
明白了这些就不难理解下面的代码运行结果了
复制代码 代码如下:
if (!("a" in window)) {
var a = 1;
}
alert(a);