为什么是这样的输出呢?

//情形1
function print(){
this.i = 0;
return function(){
console.log(i++);
}
}

var a1 = print();
var a2 = print();
a1(); //0
a1(); //1
a2(); //2
var a3 = new print();
a3(); //3
a3(); //4

//情形2
function print(){
var i = 0;
return function(){
console.log(i++);
}
}

var a1 = print();
var a2 = print();
a1(); //0
a1(); //1
a2(); //0
var a3 = new print();
a3(); //0
a3(); //1

全部评论
debug啊。
点赞 回复 分享
发布于 2015-08-26 00:24

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务