代码运行之预解析与作用域

代码运行之预解析与作用域(代码如何运行)

预解析

在代码执行前,会对代码进行一次预解析

 

预解析的内容:

  声明式函数 (告诉浏览器,这是一个被定义了的函数)

  var 关键字 (告诉浏览器,这是一个被定义的变量,但是不会解析到赋值)

PS:当预解析时,函数名和变量名重复时,会以函数为重

预解析的无理处:(不理判断条件,变量都会被解析??)

  if条件内不管是否满足条件都会进行解析

  return 后面也会进行解析

作用域

  全局作用域

  一个页面打开就是一个全局作用域

  私有作用域/函数作用域

  只有函数会生成私有作用域

  

  变量在作用域中的使用规则

  定义规则

  定义在哪个作用域就只能在那个作用域以及子级的作用域进行使用。

  赋值规则

  当在一个作用域里对一变量进行赋值时,如果在本作用域里找不到,就会往上级找,如果到全局作用域也没有,会自动定义这个变量为全局变量

 

  访问规则

  当需要使用一个变量时,先在本作用域进行寻找,没有就会往上级找,如果全局作用域也没有,会报错**xxx is not defined**

猜你喜欢

转载自www.cnblogs.com/33I77/p/12498539.html
今日推荐