Javascript中的变量定义和存储
复制代码代码如下所示:
VaR;
无功功率;
var x = 42,y =测试;
如果变量在定义变量后没有赋值,变量的值是未定义的。上述代码中的三个变量,如a、m和n的值都是未定义的。
由于js中的变量是非类型的,所以它们可以完全分配给相同的变量,例如:
复制代码代码如下所示:
var;
console.log(类型B); / /串
b=108;
console.log(类型B); / /数量
除了向同一个变量分配不同的值之外,Javascript还可以反复定义变量。如果是这样,第一次定义变量定义后等于赋值语句。
复制代码代码如下所示:
hello;
Console.log(C); / /你好
var =真;
Console.log(C); / /真的
ECMAscript标准的严格模式下(严格的模式),所有的变量定义需要使用var关键字。如果严格的模式是没有用的,当JS程序分配一些变量未定义,程序将创建在JS的全局对象的一个属性,即属性为变量相同,这是创建一个新的全局变量。这种做法会带来很多问题,如全局变量污染多个js程序当中,并带来足够的麻烦,后期维护。因此,在实践中,我们应该尽量避免使用这种方法。
存储变量
如果变量定义为全局变量,而变量的定义过程不使用var关键字,那么变量为全局对象的属性存在,可以通过这个访问(全局对象)的相应属性是通过使用删除键词也可以从秋季全局对象被删除:
复制代码代码如下所示:
var =globalvariablevalue ; / /任何函数的外部定义的,它是一个全球性的。
F =globalvariablevalue2 ;
这个G =globalvariablevalue3 ;
(这console.log。E); / /未定义
(这console.log。F); / / globalvariablevalue2
(这console.log。g); / / globalvariablevalue3
删除F;
删除G;
(这console.log。F); / /未定义
Console.log (this.g); //undefined
在Javascript的每一个函数,Javascript将创建一个本地对象存储在这个函数中定义的局部变量;如果函数里面有一个嵌套的函数定义(嵌套函数),然后Javascript将本地对象的嵌套定义对象已由内政部局为一个定义。功能,有多少层嵌套的函数定义在它,并有嵌套的局部对象层。本地对象调用函数的调用对象(叫ECMAscript 3,ECMAscript 5更名声明的环境记录,对象但我认为名字在ECMAscript 3更容易理解)。
在对比的全局对象,Javascript不提供任何方式访问这些局部对象(函数调用对象)。因此,开发商不能对这些局部对象的操作。但是,它是了解这些函数的功能来了解一些Javascript的概念很有帮助,如范围和变量的闭合。