function add(x) {
var sum = x;
var tmp = function (y) {
sum = sum + y;
return tmp;
};
tmp.toString = function () {
return sum;
};
return tmp;
}
alert(add(1)(2)(3)); //6
alert(add(1)(2)(3)(4)); //10
不明白每次调用完都要运行toString,求高手分析下!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
info,alert等内部会调用toString函数tmp重写toString函数:tmp未重写toString函数:每次返回都是一个函数,alert调用了toString方法,重写该方法以获得sum值,不重写的话会输出匿名函数