js 参数声明用var和不用var的区别

var 声明的变量,作用域是当前 function 
没有声明的变量,直接赋值的话, 会自动创建变量 ,但作用域是全局的.

//-----------------
function doSth() {
a = "AAA";
}
doSth(); // 执行一次 doSth
alert(a); // 可以看到 "AAA"
//-----------------

如果用了 var
//-----------------
function doSth() {
var a = "AAA";
}
doSth(); // 执行一次 doSth
alert(a); // 出错!!! 变量未定义, 因为 doSth 中声明的变量作用域只是 doSth 函数.
posted @ 2017-02-13 11:08  戈丫汝  阅读(514)  评论(0编辑  收藏  举报