var i= 50;
function aa(){
console.log(i)
};
(function(bb){
var i = 20;
bb();
})(aa) 为什么输出的是50????
var i= 50;
function aa(){
console.log(i)
};
(function(bb){
var i = 20;
bb();
})(aa) 为什么输出的是50????
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
如果用var声明了变量,那这个变量就是局部变量,在当前域内有效。如果不加var,那就成了全局或者是上级域的变量。在aa()里使用的i未有var声明,它就是指当前函数域的上一级,而不是指调用域的上一级。这是原型链的性质。