function foo(num) { console.log("foo: " + num);//6 7 8 9 this.count++;}foo.count = 0;var i;for(i = 0; i < 10; i++){ if(i > 5){ foo( i ); }}console.log(foo.count);// 0console.log(count);//NaN输出6,7,8,9我是知道的,输出0 是因为this.count指向的是全局。问题是创建出来的隐试count为什么是NaN???突然想起来了,会不会是这样:调用foo函数,隐试创建了一个全局属性count,count = undefined。undefined ++ 就是NaN???
5 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
function foo(num) {
console.log("foo: " + num);//6 7 8 9
this.count++;// window.count++ Number(undefined)++
}
console.log(count);//NaN
添加回答
举报
0/150
提交
取消