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

再议javascript变量作用域

2015-07-05 10:06 585 查看
今天看书无意中发现一个例子,然后突然进行了改造。

原始例子

var foo=0;
console.log(foo);

var  myfunction=function(){
var foo=1;
console.log(foo);
var myNextFunction=function(){
var  foo=2;
console.log(foo);
}();
}();输出0,1,2


改造后的例子

var foo=0;
console.log(foo);

var  myfunction=function(){
var myNextFunction=function(){
var  foo=2;
console.log(foo);
}();
console.log(foo);
var foo=1;
console.log(foo);

}();输出0,2,undefined,1
哦,果真javascript里面的变量声明和定义是讲顺序的,运行到第三个console.log发生undefined,是因为函数内已经将foo的空间声明,却没定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: