解法如下.
function count(x){
var fn = function(y){
return count(x*y);
}
fn.toString = function(){ // 前面的还好理解,关键是这句话。
return x;
};
return fn;
}
alert(count(1)(3)(5));//15
为什么之前返回都是一个函数的引用,但是最后一个参数传入后,方法返回一个数字?
解法如下.
function count(x){
var fn = function(y){
return count(x*y);
}
fn.toString = function(){ // 前面的还好理解,关键是这句话。
return x;
};
return fn;
}
alert(count(1)(3)(5));//15
为什么之前返回都是一个函数的引用,但是最后一个参数传入后,方法返回一个数字?
13 回答13k 阅读
7 回答2.2k 阅读
5 回答1.5k 阅读
3 回答1.3k 阅读✓ 已解决
5 回答1.7k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
主要还是因为
alert
,如果是console.log
就难说了 ..alert
只能接受字符串参数,如果不是字符串,会自动调用toString()
方法