js中变量和函数声明的提升

二 、 js中变量和函数声明的提升

1. js 中变量和函数的声明会提升到最顶部
2. 函数的提升会高于变量的提升
3. 函数内部如果用var声明了相同名称的外部变量,函数将不再向上寻找。
4. 匿名函数不会提升
5. 不同<script>块中的函数互不影响。

例子 1: 函数的声明高于变量
    a).
         var a ;
        function a(){}
        typeof a
        "function"  //输出 
    b).
        function a(){}
        var a ;
        typeof a
        "function" //输出
    c).
    //声明了变量的同时赋值
    function a() {}
    var a = 1;
    alert(typeof a); //number,此时不是function了。
    //说明:"var a=1"相当于"var a;a=1",即先声明,后赋值,"a=1"相当于把a重新赋值了,自然就是number!
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容