先上代码:
function foo(num){
console.log("foo:"+num);
this.count++;
}
foo.count=0;
var i;
for(i=0;i<10;i++){
if(i<5){
foo(i);
}
}
输出 6.7.8.9
console.log(foo.count);//0 what??
this并没有指向函数本身,foo被调用了4次 但是输出都是0;
foo.count实际上是在foo上添加了名为count的属性, 但是其实在全局创建了一个count 且值为NaN,
NaN-----------------------undefined++
时间: 2024-10-02 22:01:59