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的运行原理:V8引擎,JS代码执行原理,作用域和作用域链面试题