JS作用域链详解
云翳1895 人气:0本文实例为大家分享了JS作用域链的相关内容,供大家参考,具体内容如下
1、所有全局变量和函数都是作为window对象的属性和方法创建的。
2、在某个方法函数的作用域中,所有代码执行完之后,该作用域被销毁,保存在其中的所有变量和函数定义也会随着被”销毁“,这就是局部作用域。但闭包不会销毁局部变量。
这里的销毁:是指下次再执行此函数的时候,所有的变量又回到最初的状态
var color = "blue"; function changeColor(){ var anothercolor = "red"; if(color==="blue"){ color = anothercolor; } //这里可以访问anothercolor,color } //这里只可以访问color changeColor(); console.log(color);//red console.log(anothercolor); // undefined。anothercolor是函数changeColor的局部变量,在整个函数运行之后已经被“销毁”
3、变量的声明注意点
function ddq(){ alert(i) var i=11 alert(i) } ddq() // 第一个返回underfind //第二个返回11
这段代码相当于
function ddq(){ var i alert(i) i=11 alert(i) } ddq()
注意点:在一个函数内部的声明变量时(在调用之后),就相当于先申明,调用后赋值。
加载全部内容