var和不适用var的区别(在一个事件中想使用另一个事件里的变量)

在学习jq时,在一个事件中想使用另一个事件里的变量时,发现了使用和不使用var的区别:

在function中,加上var就会是局部变量;不加上var就会是全局变量

html代码:

<body>
<input type="button" value="点击">
<input type="button" value="再点击">
</body>

js代码:

var a;
var b;
$(document).ready(function(){
    console.log("a="+a);
    console.log("b="+b); 
$("input[value='点击']").click(function(){
    a = 1;
    var b=1;
    console.log("a="+a);
    console.log("b="+b); 
});
$("input[value='再点击']").click(function(){
    console.log("a="+a);
    console.log("b="+b);
})
});

结果:

 

如果一开始不声明全局变量,在函数中直接使用不加var 的赋值, js会从函数内往上一层层寻找变量,一直到顶层没有. 就在顶层自动声明一个全局变量

 

posted @ 2018-09-14 16:26  King丶小明  阅读(187)  评论(0编辑  收藏  举报