function a(){
var i=10;
b=function(){return i++;};
return i;
}
console.log(a(),b(),a());// 10 10 10
尤其是为什么第三个还是10? i++怎么没起作用? 感谢
function a(){
var i=10;
b=function(){return i++;};
return i;
}
console.log(a(),b(),a());// 10 10 10
尤其是为什么第三个还是10? i++怎么没起作用? 感谢
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
第一个a(),直接return i 为10;
第二个b(),return i++,此时i的值是10,所以先return,再自增,输出10并且i为11;
第三个a(),重新定义了i=10,所以return 为10。