刚开始学习JS。我理解定义变量。为什么留下一个未申报的?在构造if / then语句时有用吗?
答案 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”。