JavaScript-作用域和作用链

Posted 万里奔腾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript-作用域和作用链相关的知识,希望对你有一定的参考价值。

  在JS中,函数也是对象,所有的都是对象,函数对象和其它对象一样,拥有通过代码进行访问和一系列通过JS引擎访问的属性

 

二、

  作用链:作用域中对象的集合,他决定了哪些数据可以被函数访问

 

 

****************************

var test=function() //块极作用域
{
  if(1+1==2){
    var str="JS中没有块极作用域,所以str是可以调用的";
  }
  console.log(str);
}
test(); //JS中没有块极作用域,所以str是可以调用的

 

 

****************************

var game=function()
{
  swxf="我炒鸡喜欢玩";
  console.log(swxf);
}
game();//我炒鸡喜欢玩
console.log(swxf);
//我炒鸡喜欢玩 会发现,居然也显示了。这是因为swxf是全局变量,game()调用之后,就可以四处调用swxf

 

****************************

var name="万里"; //全局变量 全局作用域
var fn=function() //全局作用域
{
  var age="男"; //局部变量
  function game() //局部函数
  {
    console.log("守望幸福");
  }
}
console.log(name); //万里
























以上是关于JavaScript-作用域和作用链的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中作用域和作用域链解析

JavaScript高级JavaScript的运行原理:V8引擎,JS代码执行原理,作用域和作用域链面试题

JavaScript 作用域和作用域链

javaScript——作用域和闭包概念

JavaScript中的作用域和作用域链(边学边写)[看着别人的博客纯手敲]

JavaScript中作用域和作用域链的简单理解(变量提升)