实现一个count方法,能实现调用:count(a)(b)(c)(d)并且返回的值为参数连乘的结果。 财富值77

2016-11-01 08:32发布

解法如下.
function count(x){

 var fn = function(y){       return count(x*y);  }  fn.toString = function(){ // 前面的还好理解,关键是这句话。       return x;  };  return fn;

}
alert(count(1)(3)(5));//15
为什么之前返回都是一个函数的引用,但是最后一个参数传入后,方法返回一个数字?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答

alert 只能接受字符串参数,如果不是字符串,会自动调用 toString() 方法

主要还是因为 alert,如果是 console.log 就难说了 ..

一周热门 更多>