Javascript 笔记与总结(2-6)var

【例】

<script>
window.str = 'abc';

function t1(){
    function t2(){
        str = 'xyz';
        alert(str);
    }
    t2();
}

t1();
alert(window.str);
</script>

弹出:xyz xyz

加 var 是声明变量,在哪里声明就属于哪个局部(例如 str 在 t2 函数中声明,str 就属于 t2 函数局部变量,不加 var 仅仅就是一个赋值,按照作用域的规则,当函数局部没有 str 这个变量声明时,就要往外层函数中找,直到找到 window,把 window.str 给赋值,污染了全局变量。)

【例】

<script>
console.log(window.a,window.b);
function t(){
    var a = 'local';
    b = 'global';
}
t();
console.log(window.a,window.b);
</script>

输出:

undefined undefined

undefined "global"

原文地址:https://www.cnblogs.com/dee0912/p/4456852.html