为什么在javascript中保留一个未声明的变量?

时间:2013-08-26 02:43:14

标签: javascript variables undefined

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

 if ( myVar ) 

表示如果其值为true则为true,如果不为false

但最好的办法是:

var myVar;

仍然是假的而不是声明可能会在较旧的浏览器中出错

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