JavaScript 关于作用域链

来源:互联网 发布:json转java实体对象 编辑:程序博客网 时间:2024/05/20 07:16
函数调用都有与之相关的作用域和上下文。从根本上说,范围是基于函数(function-based)而上下文是基于对象(object-based)。换句话说,作用域是和每次函数调用时变量的访问有关,并且每次调用都是独立的。上下文总是关键字 this 的值,是调用当前可执行代码的对象的引用。

首先,执行环境的概念:执行环境是JavaScript重要的概念
执行环境(分为全局环境局部环境两类)决定了他们各自的行为,每个执行环境都有一个与之相关的变量对象,环境中定义的所有变量和函数都保存在这个对象中。
比如,在web浏览器中,全局环境的执行环境被认为是window对象,因此所有函数,对象都是作为window对象的属性和方法创建的。。
其次。每个函数都拥有自己的执行环境,当执行环境进入一个函数内,
当代码在一个环境中执行时,会创建变量对象的一个作用域链
(scope chain)。作用域链的作用是为了保证所有变量和函数的有序执行。
作用域链的前端,始终都是当前执行的代码所在环境的变量对象。
作用域链的一下面是来自外部环境。
作用域链的长短是可以延长的
可以通过以下2种方式
try catch中的catch块
with语句
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 快递不给送上楼怎么办 华为荣耀手机声音小怎么办 华为手机来电铃声小怎么办 s弯出来时老压线怎么办 苹果7p手机弯了怎么办 小米手机摔弯了怎么办 华为畅享5没声音怎么办 掌阅语音闪退怎么办 华为mate开屏成排线怎么办 华为mate8电池坏了怎么办 8plus拍照不清晰怎么办 荣耀手环3丢了怎么办 华为mate9手机声音小怎么办 华为麦芒6丢了怎么办 华为麦芒4无法访问移动网络怎么办 自拍时屏幕是白的怎么办 华为麦芒5手机音量小怎么办 小米5x玩王者卡怎么办 小米5x打王者卡怎么办 华为荣耀10卡顿怎么办 麦芒6记不得密码怎么办 华为麦芒4镜头碎了怎么办 三星s5出像网的信号怎么办 华为手机进海水资料怎么办 华为手机进海水了怎么办 苹果手机玩王者荣耀卡怎么办 玩王者荣耀闪屏怎么办 王者荣耀太卡了怎么办 想卖王者号qq怎么办 小米4电视发热严重怎么办 三星玩王者荣耀卡怎么办 华为麦芒5网络差怎么办 华为麦芒无线信号不好怎么办 华为麦芒6网络不好怎么办 华为麦芒6信号差怎么办 华为手机无线网信号差怎么办 华为麦芒6数据信号差怎么办 华为麦芒54g信号差怎么办 华为手机wifi信号差怎么办 华为手机导航信号弱怎么办 华为手机gps信号弱怎么办