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

解法如下.
function count(x){

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

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


慕斯王
浏览 615回答 1
1回答

Smart猫小萌

主要还是因为 alert,如果是 console.log 就难说了 ..alert 只能接受字符串参数,如果不是字符串,会自动调用 toString() 方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript