在javascript中使用/不使用var前缀定义变量
这个问题在这里已经有了答案:
在全局范围内,除非再次使用它,否则没有区别: var my_var;
将重新声明它,而my_var;
将会是无用的表达。
只有当不在全球范围内时才有区别。
Ex1(含变种):
var x = 0;
(function(){
var x = 1;
alert('fx: '+ x);
})();
alert('gx: '+ x);
//fx: 1
//gx: 0
Ex2(无var):
x = 0;
(function(){
x = 1;
alert('fx: '+ x);
})();
alert('gx: '+ x);
//fx: 1
//gx: 1
var
实际上是(重新)在任何当前范围内声明变量,而第二种形式是声明它(全局?),除非它已在之前的包含范围中声明。 第二种形式是隐式声明的,而第一种形式是明确的。
因此,全球范围没有差别,因为它没有包含在其他任何范围内。
链接地址: http://www.djcxy.com/p/17363.html上一篇: define variable with/without var prefix in javascript
下一篇: What is the difference between var x=1 and x = 1 in NodeJs