延长作用域的2个方法,查询标识符在作用域链的过程小结

2017-9-16 23:43:35 4,057 views
引用类型的属性如果不被销毁或者删除将一直存在。
执行环境定义了变量或函数有权访问其他数据,决定了他们各自的行为。
每个执行环境都有一个与之关联的变量对象,保存着环境中定义的所有变量和函数。
当代码在环境中执行时,会创建变量对象的一个作用域链,用途:保证对执行环境有权访问的所有变量和函数的有序访问

延长作用域链

try-catch 语句的catch块,with语句可以在作用域链的前端临时增加一个变量对象,该变量对象会在代码执行后被移除。
with语句:会将指定的对象添加到作用域链中。
catch块:会创建一个新的变量对象,其中包含的是被抛出的错误对象的声明。
由for语句创建的变量i即使在for循环执行结束后,也依旧会存在于循环外部的执行环境中。
内容
var num={};
alert(num);//[object Object]
var num;
alert(num)//undefined;
var colors=["red","green","blue","black"];
var remov=colors.indexOf("green",2);//第2个参数为开始查找的位置
alert(remov);//

 

0

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。