写在前面
兄弟们,我已经不知道该c,啊不,写啥了,今天讲作用域链吧,还是面试简答版,要好好背诵嗷。
什么是作用域链?
作用域链
当代码在一个环境中执行时,会创建变量对象的一个作用域链。
由子级作用域返回父级作用域中寻找变量,就叫做作用域链。
作用域链中的下一个变量对象来自包含环境,也叫外部环境。而再下一个变量对象则来自 下一个包含环境,一直延续到全局执行环境。全局执行环境的变量对象始终都是作用域链 中的最后一个对象。
作用域链前端始终都是当前执行的代码所在环境的变量对象,如果环境是函数,则将其活
动对象作为变量对象。
如何延长作用域链?
作用域链是可以延长的
延长作用域链:
执行环境的类型只有两种,全局和局部(函数)。但是有些语句可以在作用域链的前端临时增加一个变量对象,该变量对象会在代码执行后被移除。
具体来说就是执行这两个语句时,作用域链都会得到加强。
1、try - catch 语句的 catch 块;会创建一个新的变量对象,包含的是被抛出的错误对象
的声明。
2、with 语句。with 语句会将指定的对象添加到作用域链中。
写在最后
朋友们,我一定会有振作的那天的,我到时候一定好好写,不再糊弄大家惹。这样的面试题也可以背一背,对找工作会有帮助的,当然,对初学者可能不那么友好。明天,就明天,我一定振作,冲鸭。吼吼学习,天天向上!