day04

207 阅读1分钟

一、预解析

理解:

js代码的执行分为两个步骤

1、解析代码:①从所有代码中变量的定义和函数的定义;②将函数定义和变量定义提升到所有代码的最前面。

2、按照解析后的顺序执行代码

总结:

  1. 匿名函数赋值给变量的定义方式,预解析时遵循变量的预解析规则,不会将函数代码预解析

  2. 预解析的时候,会将定义提前放在内存中,不会提前将赋值放在内存中

  3. 如果变量名和函数名同名了,保留函数预解析,忽略变量预解析

    因为函数预解析其实包含了赋值的过程,函数定义放在内存中的时候将函数的代码也放在内存中

    变量的预解析只有空间,没有值,所以如果是先预解析变量,那后面的函数预解析赋值就将空间中放入了值,如果是先预解析的函数,再次预解析变量的时候,空间已经存在了,再次定义空间也是没有意义的。

  4. 省略var定义的变量是不会有预解析的

  5. js代码如果报错了,那后面的代码就不会执行了

  6. 不会执行的代码中有变量或函数定义也会预解析,因为预解析在执行之前。

二、return总结:

  1. 终止代码继续运行
  2. 函数运行后返回一个结果,只能返回一个

image.png