我是JavaScript的新手,我对如何正确声明变量有以下疑问。
这个变量声明之间是否存在一些差异:
my_pkcoda = document.getElementById('pkcodaSelected').value;
( my_pkcoda 变量在进入代码之前未声明。它首次在此处声明,并为其分配值)
和
var my_pkcoda = document.getElementById('pkcodaSelected').value;
或者没有差异?
答案 0 :(得分:1)
正确的方法是在您希望变量生效的范围内使用var
声明变量。
JavaScript在非严格模式下,会原谅您不使用var
关键字。但是,它将通过作用域链搜索变量的声明,直到它到达全局作用域,如果未找到该变量将被声明。
myGlobal = 1; // Auto-declared in global scope
var myOtherGlobal = 2; // User-declared in global scope
function myGlobalFunc() {
myLocallyInitedButGlobal = 3; // Auto-declared in global scope
var myLocal = 4; // User-declared in local scope
}
console.log(myGlobal); // Output: 1
console.log(myOtherGlobal); // Output: 2
console.log(myLocallyInitedButGlobal); // Output: 3
console.log(myLocal); // Output: undefined
,请参阅此答案