function add(x){
var num = x;
function _add(para){
num+=para;
return _add;
}
_add.toString=function(){
return num;
}
return _add;
}
var a = add(1)(2)(3);
console.log(a);//6
console.log((a+7));//13
console.log(a(11));//17
如代码区这个时候a,它既可以是个变量,又可以当做是个函数名来直接调用,比如继续a(11);结果是17。
toString方法我知道是复写了原型链上面的方法。
可是为什么赋值的时候a会赋值到这个toString呢?
繁星淼淼
相关分类