您的位置:首页 > Web前端 > JavaScript

JS作用域链详解

2017-06-26 11:42 513 查看

本文实例为大家分享了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()

注意点:在一个函数内部的声明变量时(在调用之后),就相当于先申明,调用后赋值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 作用域链