Variable Declaration

2018-04-15  本文已影响0人  不高兴325

1. 重复的声明

如果声明时未指定初始值,那么它的初始值就是 undefined

[JavaScript]
var i;
console.log(i);  //=> "undefined"

2. 重复的声明

使用 var 语句重复声明变量是合法且无害的。

[JavaScript]
var scope = "global";
function foo(){
    var scope = "local";
    return scope;
}
foo();    //=> "local"
console.log(scope); //=> "global"

3. 遗漏的声明

ECMAScript5 严格模式中,给一个没有声明的变量赋值也会报错。然后从历史上讲,在非严格模式下,如果给一个未声明的变量赋值,JavaScript实际上会给全局对象创建一个同名属性(全局变量)。这意味着你可以侥幸不声明全局变量,但这不是一个好习惯。

[JavaScript]
scope = "global";         //声明一个全局变量(未用var关键字声明)
function checkScope() {
    scope = "local";      //修改了全局变量
    myScope = "my local"; //显示地声明了新的全局变量
    return [scope, myScope];
}
checkScope();
console.log(scope);     //=> "local"
console.log(myScope);   //=> "my local"
上一篇下一篇

猜你喜欢

热点阅读