javascript - 在javascript中找到给定函数调用的总和
问题描述
总和(2)(3)(4)....(n)
找到以 number 作为参数提供的 n 个 paranthas 的总和
我努力了
function sum (a){
return function (b){
return (a+b)
}
}
解决方案
(我必须喷射,稍后会添加解释)。但简而言之:
- 只要您有参数,您就会返回一个函数,该函数将总和保持在其中并不断添加每个参数。我作弊并覆盖
toString
函数以输出sum
. - 目前我认为不需要的快速方法
toString
是只使用空参数执行函数,然后不返回函数而是返回sum
值。
坏事?好吧,覆盖toString
你console.log()
可能会混淆用户,因为返回的实际类型是函数而不是数字。
var string_sum = sum(1)(1)(1);
console.log( string_sum + " of type " + typeof(string_sum) );
var num_sum = sum(1)(1)(1)(1)(1)(1)();
console.log( num_sum + " of type " + typeof(num_sum) );
function sum(x) {
var sum = x;
var sum_closure = function s(y){
if ( y != undefined ){
sum += y;
return s;
} else
return sum;
};
if( ! Number.isInteger(sum_closure) )
Object.defineProperty(sum_closure, 'toString', {
value: function () {
return sum;
}
});
return sum_closure;
}
推荐阅读
- javascript - 无法以正确的方式附加孩子
- zend-framework - 如何在 .phtml 视图中将外部 php 文件包含在 zend 应用程序文件夹之外
- excel - 如何生成一个随机范围的数字,这些数字总和为结束参数
- python - 计算多指标数据框中的比率(年初值/上年结束值)
- c++ - 使用指定的路径更改目录(路径包括文件名作为字符串)
- javascript - 在 Internet Explorer VBA 中单击 ID 不会注册任何内容?
- javascript - 避免为每个子元素编写事件
- c# - SaveChanges 上的意外 ForeignKey 更改
- javascript - 如何通过代理从代码中更新对象的属性来更新输入的值?
- react-native - React Native - 进行访问令牌验证的常用地方