我注意到,在JavaScript中,函数内部有时候会创建一个变量,而不会在前面提及var
。JavaScript中的局部变量和全局变量之间的区别?
例如:
function myfunction() {
x = 10;
var y = 10;
}
的是这两者之间的区别?
我注意到,在JavaScript中,函数内部有时候会创建一个变量,而不会在前面提及var
。JavaScript中的局部变量和全局变量之间的区别?
例如:
function myfunction() {
x = 10;
var y = 10;
}
的是这两者之间的区别?
function myact() {
x = 20;
var y = 10;
console.log(x);
console.log(y);
}
myact();
console.log(x);
//y not available here
var
用于声明。所以,没有声明的赋值只会给它全局范围的含义:它将首先搜索它是否在上面的任何范围栈中可用,如果不是在全局范围中隐式地创建变量并赋值。
使用var声明的变量的范围是其当前的执行上下文 ,其是封闭函数,或对于任何函数外声明的变量 ,全球性的。
当执行 分配时,将值赋给未声明的变量会隐式地将其创建为 全局变量(它将成为全局对象的属性)。
即使未声明的变量在子函数中,它变成了全局对象,我的理解是否正确? – Sarav
会提出一个简单的演示 – Iceman
只是将其标记为一个愚蠢的,没有必要一遍又一遍地回答这个问题... http://stackoverflow.com/questions/1470488/what-is-the-purpose-of- -Val-keyword-and-when-use-it-or-omit-it – JordanHendrix
我想看看这里:http://stackoverflow.com/questions/1470488/what-is-the-purpose-of-the-var-keyword-and-when-to-use-it- or-omit- – tetutato