码迷,mamicode.com
首页 > Web开发 > 详细

JS——作用域

时间:2016-03-28 18:26:07      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

    var v = "hello";
    function f() {
        alert(v);
        var v = "byebye";
        //函数作用域内的变量v【遮盖】了上层作用域变量v
    }
    /* function f() {
        var v;//声明提升
        alert(v);//此函数与上述等价
        v="byebye";
    } */
    f();//undefined
    alert(v);//hello
    var v = "hello";
    if (true) {
        alert(v);//hello
        var v = "byebye";
    }
    alert(v);//byebye

两点注意事项:

1.JS的变量声明具有hoisting(提升)机制,JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面

2.JS是没有块级作用域的。函数是JavaScript中唯一拥有自身作用域的结构

 

JS——作用域

标签:

原文地址:http://www.cnblogs.com/feile/p/5329772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!