刚开始学习JS。我理解定义变量。为什么要留下一个未申报的?构造 if/then 语句时是否有帮助?
问问题
195 次
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 回答