如何在JavaScript中正确声明变量?

时间:2015-05-28 08:37:23

标签: javascript

我是JavaScript的新手,我对如何正确声明变量有以下疑问。

这个变量声明之间是否存在一些差异:

my_pkcoda = document.getElementById('pkcodaSelected').value;

my_pkcoda 变量在进入代码之前未声明。它首次在此处声明,并为其分配值)

var my_pkcoda = document.getElementById('pkcodaSelected').value;

或者没有差异?

1 个答案:

答案 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

有关更详细的说明https://stackoverflow.com/a/1470494/883303

,请参阅此答案