1.在javascript中, var 定义变量实际是有作用域的。
假设在函数体中声明,则在函数体外不可以使用~(若函数体外想用函数体里的变量(闭包))
function jmj(){
var x=1;
x=x+1;
}
x=x+2;//Uncaught ReferenceError: x is not defined
}
如果两个函数使用了相同的变量名,只要在函数内部,就不冲突
function jmj(){
var x=1;
x=x+1;
}
// x=x+2;//Uncaught ReferenceError: x is not defined
function jmj1(){
var x='a';
x=x+1;
}
上面那种与下面那种等价
局部变量let
全局与局部的区别
建议大家都使用let去定义局部作用域的变量
常量const