//下面eles里的数组apply,换成args.push(argumentss)为什么会没用
//打印出来的是0[object Arguments][object Arguments]
//args本来就是数组为什么要借用array的方法??
var cont=(function(){
var args=[];
return function(){
if(arguments.length===0){
var money=0;
for(var i=0;i<args.length;i++){
money+=args[i];
}
return money;
}else{
[].push.apply(args,arguments);
//args.push(arguments);
}
}
})();
cont(100);
cont(200);
console.log(cont());
这个归根结底还是应该去看看apply的声明,不过楼主说的那个用法,算是一种妙用而已,本身apply不是做这个用的。
参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/apply
如有错误,大神轻喷