• 声明提前例题


    function fun(){
        console.log(1);
    }
    fun();  //2
    function fun(){
        console.log(2);
    }
    fun();  //2
    var fun=100;
    fun();  //报错,fun不是一个函数了

    解析:

       程序在执行前,都会先找到var声明得到变量和function声明的函数,提前到当前作用域的顶部,但是赋值会留在原地。

     
    function fun(){console.log(1);}
    function fun(){console.log(2);}
    遇到同名的,会覆盖第一个fun函数

    var fun=100;=>var fun; fun=100;
    声明 赋值
    var fun 被提前,但是原来已经有了一个fun变量,所以这句不执行,
    fun();
    fun();
    fun=100;
    fun();

    所以第一次调用和第二次调用fun都输出2;然后将100赋值给了fun,所以第三次调用时,变量fun已经不是一个函数了,所以无法调用,调用了就会报错

     
    那些看似不起波澜的日复一日,会突然在某一天让人看到坚持的意义。
  • 相关阅读:
    Css_加载样式
    Mvc4_@RenderBody()和@RenderSection()
    C#_观察者模式
    Mvc4_MvcPager 概述
    Mvc4_Area的应用
    Nginx 服务器性能参数设置
    Nginx变量的实现机制
    天下无雾
    Nginx Http框架的理解
    【转】websocket协议规范
  • 原文地址:https://www.cnblogs.com/Dcode/p/12996915.html
Copyright © 2020-2023  润新知