在javaScript中,全局变量可以不用var声明,但是局部变量一定要用var声明;不用var声明的被认为是全局变量;
例如:
1 . var scope = "global";
function fun(){
var scope = "local";
return scope;//返回值是local
}
2. scope = "global";
function fun1(){
scope = "local";//全局变量被从新赋值了;
myscope="local";//这里显示声明了一个全局变量;
return [scope, myscope];//返回值为["local", "local"];
}
作用域:
像一般的函数都是块级作用域:比如在某个语句块(也就是被大括号扩起来的)内定义的变量在语句块之外是不能用的,也即是不可见的:例如,
public void fun(){
int a = 2;
if (a == 2){
int b = 3;
}
System.out.println(b); //这一行代码是错的;因为b是在if语句块内声明的,在语句块外是不能使用的
}
在javaScript中,属于函数级作用域:也就是说函数体内声明的所有变量都是可见的,只要在声明之后使用都是可以的:
function fun(){
int a = 2;
if (a == 2){
int b = 3;
}
console.log(b); //这一行代码是正确的;b在函数内是可见的
}