JS解析器/JS代码执行顺序

代码执行顺序必须的两个步骤:
1.预解析:在当前作用域下,JS运行之前,找到var和function关键字提前声明但并不赋值(undefined),
          在解析过程中 变量与函数重名:留下函数     函数与函数重名:留下后一个


2.逐行执行代码:找表达式,表达式能够修改预解析里的值,没有表达式就找预解析里的值.
               表达式(  = + - * / % ++ -- ! 参数...    能够改变值的都称为表达式 )

注意:
      1.在解析过程中  变量与函数重名:留下函数     函数与函数重名:留下后一个

      2.遇到函数调用(产生新的作用域):再次执行①预解析②逐行执行代码 这个步骤

      3.在局部找不到预解析内容就去全局找

      4.if和for不是作用域
      5.定义全局变量时,不要在if或for里定义变量或函数,在if或for里定义函数,无法进行预解析

猜你喜欢

转载自blog.csdn.net/fengmin_w/article/details/79390697