函数3

一、JS的编译和执行
① js是一门解释性语言
   ·预先编译,再执行
   · 先通读全文,在解释含义
②编译时
    - 提升
③ 执行时
    - 按照逻辑,结构正常执行

二、变量和函数会提升

① var的提升
    - 提前声明,=号的位置赋值
        ```js
        console.log(a);     // undefined
        var a = 10;
        console.log(a);     // 10
        ```
        - ↑↑↑↑等价于↓↓↓↓
        ```js
        var a;
        console.log(a);     // undefined
        a = 10;
        console.log(a);     // 10
        ```
②function的函数提升
    - 整体提升
    - 即提前声明,有提前赋值
③如果var遇到function
    1. 赋值式创建函数
        ```js
        var fn = fucntion(){}
        ```
        - 提升的是var,不是function
    2. 变量和函数重名
        ```js
        var a = "hello";
        function a(){}
        ```
        - var提升的更高,所以function占便宜,生效的是function

 

posted @ 2020-04-28 19:04  油画家的第一站  阅读(89)  评论(0编辑  收藏  举报