js----预解析,作用域链

1.js作用域

script作用域 = 全局作用域

函数作用域 = 局部作用域

2.js解析器

只要进入作用域,就会启动js解析器

3.解析步骤

.预解析

  首先寻找 var function 形参

  1.找到var后,提取后面的名字存入解析器,并给该变量初始化 值为 undefined

  2.如果变量与函数同名,丢弃变量,保留函数

  3.后找到的函数 覆盖先找到的函数

  4.如果有多个script标签,则从上到下解析并执行
    进入第一个script标签时,先解析并逐步解读代码,完毕后,依次解析并执行后面的script作用域

二.逐行解读代码(解读时,函数生命自动跳过)
  1,解读表达式

  2.函数调用(函数也是一个作用域,一旦进入作用域,就会启动js解析器)
    1.预解析
    2.逐行解读代码

4.作用域链

  如果当前作用域中没有所要执行的变量,就会向父级作用域中进行查找,如果没有,就会再向父级的父级寻找,
一直找到script作用域,如果还是没有,就会报错

猜你喜欢

转载自www.cnblogs.com/SRH151219/p/10421664.html