我刚开始学习 JavaScript,练习作用域时尝试了以下代码:
var il = "inner";
var o ="outer";
var of = function(){
console.log(o + " " + il);
o = "baher";
var il = "ander";
console.log(o + " " + il);
var lf = function(){
console.log(o + " " +il);
o = "mazed baher";
var il = "mazed ander";
console.log(o + " " +il);
};
console.log(o + " " +il);
};
of();
console.log(o + " " + il);
////////////////////////////////////// 它的输出非常惊人
"outer undefined"
"baher ander"
"baher ander"
"baher inner"
我无法理解这段代码。我使用了console.log
6次,但只得到了4个输出。而且为什么第一个log中的"il"未定义?
console.log
在一个从未被调用的函数中。 - Alexey Tenil
未定义。 - Alexey Ten