码迷,mamicode.com
首页 > Web开发 > 详细

JS作用域和作用域链

时间:2020-02-01 12:58:35      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:使用   全局   def   定义   上下文   ons   nbsp   es5   作用域链   

在JS代码执行之前会首先创建一个全局作用域,里面有所有的定义的变量。

在函数定义的时候也会创建一个函数的作用域,作用域中包含了该函数中所定义的变量。

具体还没有理解很清楚,感觉作用域和执行上下文很像。

就是当在函数执行的代码中使用到某个变量的时候,它首先会在自己的作用域中找该变量,如果找不到就去上一级的作用域中找,一直到全局作用域,直到找到为止。如果都找不到就为undefined。

 

注在es5中没有块作用域,在es6中有。

及例子如下:

if(true)

{

  var a = 4;

}

console.log(a);//在es5中是可以输出4的,因为一个{}中的代码就叫做块作用域,在es5中没有块作用域,只有函数作用域。

JS作用域和作用域链

标签:使用   全局   def   定义   上下文   ons   nbsp   es5   作用域链   

原文地址:https://www.cnblogs.com/maycpou/p/12248047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!