美文网首页
javaScript预解析

javaScript预解析

作者: 帅气的刘小二 | 来源:发表于2016-10-19 15:54 被阅读0次

    js是运行在浏览器端的,浏览器内部众多功能中有一个小功能叫做js解析器。
    js在解析器在运行js代码时分为下面两步:
    1、把所有的 变量、函数、参数 提前到当前作用域的顶部。并且所有的变量,参数都给一个undefined的值,如果是函数就给把整个函数块拿过来。如果遇见重名后一个会覆盖前一个,如果变量和函数重名,函数覆盖变量。
    2、逐行执行代码(从上到下,从左到右)
    遇到变量、函数调用、参数 去预习解析里找
    //表达式:= + - * / % ++ -- ! 参数 ...
    --遇见表达式 :表达式可以修改 预解析后的值。
    --遇见函数:再开一个新的作用域,进行的预解析,逐行执行代码。如果当前作用域里的变量没有带var,那么就一层一层的向上级作用域里去找。找不到报错。

    注函数预解析:
    1、函数声明可以被预解析,所以可以先调用,再声明。
    2、函数表达式,不会被预解析,所以只能先声明再调用,不能把调用放在声明的前面(不然就报错)

    相关文章

      网友评论

          本文标题:javaScript预解析

          本文链接:https://www.haomeiwen.com/subject/omexuttx.html