js/预解析

∥☆過路亽.° 提交于 2020-04-04 16:48:18

1、js引擎在执行js代码时,会先解析js代码然后再去执行js代码,在解析js代码时会将var声明的变量和function声明的函数提到当前作用域代码的顶部。

2、当var声明的变量名与function声明的函数名一样的时候,函数优先级更高

  (1)案例一

    console.log(f)

    var f = 123;

    function f(){console.log(456)}

    解析过程:

    var f;

    function f(){console.log(456)} // 函数整体提升

    console.log(f)    // function f(){console.log(456)}

    f = 123;

 

  (2)案例二

    console.log(f)

    function f(){console.log(456)}

    var f = 123;

    解析过程:

    function f(){console.log(456)} // 函数整体提升

    var f;

    console.log(f)    // function f(){console.log(456)}

    f = 123;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!