为什么要在javascript中保留未声明的变量

why leave a variable undeclared in javascript?

本文关键字:未声明 变量 保留 javascript 为什么      更新时间:2023-09-26

刚刚开始学习JS。我理解定义变量。为什么不申报?它在构造if/then语句时有帮助吗?

为什么不申报?

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,因为j没有var

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

 if ( myVar ) 

意味着如果它得到一个值true如果不是false

但最好的办法是:

var myVar;

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

我不确定如果你已经有一个全局"vari;",然后尝试在循环中使用一个,我认为这只会让你失去新的全局"i"。