function foo(a) {

var a;
return a;
}
function bar(a) {
var a = 'bye';
return a;
}
[foo('hello'), bar('hello')]//输出结果为:hello,bye

两个函数内部的 return a; 根据作用域链寻找都是返回函数作用域的 a 吧。
第二个输出我可以理解,可是第一个的输出结果是 hello ,
第一个函数的a 不是undefined 吗?
展开
评论