/*对象和函数会偷偷调用toString*/
var demo_fun = function(n){
console.log('per')
}
console.log(demo_fun);
demo_fun.toString = demo_fun.toValue = function(){
console.log('Run toString , Run toValue');
return 'demo_fun'
}
console.log(demo_fun);
var demo_obj = {
i:10
}
console.log(demo_obj);
demo_obj.toString = demo_obj.toValue = function(){
console.log('Run toString , Run toValue');
return 'demo_obj';
}
console.log(demo_obj);
/*题目*/
function add(n){
var res = n;
var fun = function(n){
res += n;
return fun;
}
fun.toString = fun.valueOf = function(){return res}
return fun;
}
var a = add(1)(2)(3)(4);
console.log(a);