-2

刚开始学习JS。我理解定义变量。为什么要留下一个未申报的?构造 if/then 语句时是否有帮助?

4

2 回答 2

3

为什么要留下一个未申报的?

function foo() {
    var i = 0; // local variable
    j = 1;     // global variable
}
foo();
i; // undefined
j; // 1
function bar() {
    var k; // local variable
    k = 2; // still local
}
bar();
k; // undefined

如果foo处于"use strict"模式,它将导致ReferenceError: j is not defined除非另一个在作用域链的上层被定义,j因为没有var.j

于 2013-08-26T02:46:23.630 回答
1

是的,它可以“在构造 if/then 语句时提供帮助?” undefined 的值为 false。所以:

 if ( myVar ) 

表示如果它的值不为假,则为真

但最好这样做:

var myVar;

这仍然是错误的,不声明可能会在旧浏览器中出现错误

如果您已经有一个全局“var i;”,我不确定会发生什么 然后尝试循环使用一个,我认为它只会让你失去新的全局“i”。

于 2013-08-26T02:46:27.553 回答