Javascript变量声明的案例分析

本文的示例讲述了Javascript变量声明的方法,供大家参考,具体分析如下:

在js中使用变量之前应该声明它。变量使用关键字var声明。

如果变量未在var声明语句中指定,则变量是未定义的。

变量类型在声明变量时没有指定,js变量可以是任意数据类型。

使用var语句重复变量声明是合法且无害的。如果重复声明与初始化器一起,那么简单赋值语句之间没有区别。

如果你试着去读,不声明变量,JS会犯错。在严格的ecmascript5模式,给一个变量赋值语句将一个错误;但是,从历史上看,在非严格模式,如果你给一个声明的变量赋值,JS会创建一个全局对象的名称属性,和它看起来就像一个全局变量正确说法的。这意味着你可以摆脱声明全局变量,但这是一个坏习惯,导致了很多错误,而且最好用var声明的变量。

在函数中,同名的本地变量将覆盖全局变量。

尽管全局范围写代码不能编写var语句,但是在声明本地变量时必须使用var语句,参考下面的代码:


范围;
函数(){
范围
/ / FK!我们刚刚改变了全局变量!!!
}


在一个类似C语言的编程语言,支撑每一片代码有自己的范围,他们声明变量的代码段是不可见的,我们称之为块级范围(块范围);而JS没有块的范围,而是采用功能域(职能范围)在一份声明中说:变量的功能和任何函数在函数体中嵌套定义(嵌套或嵌套的)

JS的功能范围意味着所有的变量声明在函数总是在功能可见,这意味着变量可以声明之前。JS的特性叫做吊装提前,即所有的变量(但不分)在js函数声明的先进的功能体的顶部。


var范围;
函数f(){
console.log(范围);
输出未定义,而不是全局
var范围;
这里的变量给出初始值,但函数体中的变量在任何地方都是定义的。
console.log(范围);
输出本地


上面的代码相当于:


函数f(){
变量范围;
console.log(范围);
范围;
console.log(范围);
}


当声明一个js全局变量时,实际上定义了全局对象的一个属性。

当一个变量var语句,创建此属性是不可配置的,它不能被删除操作删除;但是当你不使用严格模式未声明的变量赋值,JS会自动创建一个全局变量,以这种方式创建的变量是一个全局对象的正常配置的属性可以被删除:


变量x=1;
y=2;
这3。
不能删除返回false变量。
删除y;返回true变量。
删除此z。


希望本文能对大家的javascript程序设计有所帮助。