首页 > 编程语言 > 详细

JavaScript 变量声明提前

时间:2016-08-26 16:54:26      阅读:246      评论:0      收藏:0      [点我收藏+]

《JavaScript权威指南》中指出:JavaScript变量在声明之前已经可用,JavaScript的这个特性被非正式的称为声明提前(hoisting),即JavaScript函数中声明的所有变量(但不涉及赋值)都被“提前”至函数的顶部。下面我们从实例中看看:

实例1:

    var aa = "test";
    function myFunc(){
        console.log(‘aa值为:‘+aa);
        var aa = "TEST";
    }
    myFunc();

调用函数myFunc() 打印的结果为 undefined ,因为函数作用域的特性,函数中申明的变量(但不涉及赋值)被“提前”至函数的顶部,所以局部变量在整个函数体始终有效,局部变量aa会覆盖掉全局变量aa,因此打印的结果为 undefined ,其运行过程等价于实例2,如下:

实例2 :

    var aa = "test";
    function myFunc(){
        var aa;
        console.log(‘aa值为:‘+aa);
        aa = "TEST";
    }
    myFunc();

运行结果如下:

技术分享

 

JavaScript 变量声明提前

原文:http://www.cnblogs.com/Lily-nercel/p/5810979.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!