例如 :
var a=2;
a=2;
function fnName(){}
ES 5 严格模式之前,是没有区别的,但严格模式中禁止向未声明的变量赋值,因此必须进行变量声明。
在实际应用中,一般禁止第二种写法,所以还是坚持声明变量吧。
javascript 函数体外使用var 定义变量 和 不使用var 有区别吗?
这是题注的问题,我的回答是:
有区别。
不加var 就是全局变量
Declared variables are a non-configurable property of their execution context (function or global). Undeclared variables are configurable (e.g. can be deleted).
用var
声明的在作用域下是non-configurable的,也就是不可以delete
掉;而不用var
的,则相反
参考:https://developer.mozilla.org/en-US/docs...
使用了var定义的变量是局部变量,不使用的话就是全局变量。最好全部使用var来定义变量,以免出现变量值在不同函数中被互相影响。
1.在浏览器的script标签下或一个单独的js文件中
<script>
var a=2;
b=1;
</script>
a,b都是全局变量
2.在一个函数体内
function fun(){
var a=2;
b=1;
}
a为局部变量
b为全局变量