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

js的执行环境和作用域链

时间:2019-07-28 17:53:24      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:作用域   相关   全局   报错   with   就是   数据   语句   作用   

执行环境

js的执行环境就是:定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个环境都有一个与之相关联的对象,环境中定义的变量和函数都保存在这个对象中。

 

全局变量就是最外围的环境,通常被认为是window对象。全局变量和局部变量会在环境栈中,当执行环境在执行完环境中的所有代码后会销毁,环境栈会将该栈弹出,定义的变量与函数也会被销毁,而全局变量会在程序退出后销毁。

作用域链

作用域是保证对执行环境有权访问  的所有变量  的有序访问。

链的形成:

作用域链的前端是当前执行环境的变量对象,下一层是当前执行环境的外部环境,下下层是当前执行环境的外部环境的外部环境.....直到最外层是全局。

寻找一个标识符,先从作用域链的最前端的变量对象开始找,没找到就往下一级寻找,直到全局,如果还没找到就报错。

延长作用域链:

延长作用域链的方法就是在作用域前端临时增加一个变量对象,这种方法有两种语句实现:try-catch中的catch,with.

catch:创建一个新的变量对象,其中包含被抛出的错误对象。

with:将指定的对象添加到作用域中。

 

参考:《Javascript高级程序设计》 第三版

js的执行环境和作用域链

标签:作用域   相关   全局   报错   with   就是   数据   语句   作用   

原文地址:https://www.cnblogs.com/ellen-mylife/p/11259441.html

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