如何在node.js控制台(javascript)中实现此语法
相同的函数如何在node.js控制台(javascript)中实现此语法,javascript,node.js,Javascript,Node.js,相同的函数sum: 总和(7)(3)(5)必须等于15 及 sum(7)(3)+5必须等于15 及 总和(7)(3)必须等于10 如何使之成为可能?您可以使用toString/valueOf方法将结果视为一个值 function sum(a) { chain.valueOf = function() {return a;} return chain; function chain(s) { a += s; return chain; }; } sum(7)(3
sum
:
总和(7)(3)(5)
必须等于15
及
sum(7)(3)+5必须等于15
及
总和(7)(3)
必须等于10
如何使之成为可能?您可以使用toString
/valueOf
方法将结果视为一个值
function sum(a) {
chain.valueOf = function() {return a;}
return chain;
function chain(s) {
a += s;
return chain;
};
}
sum(7)(3)(5) == 15 // true
sum(7)(3) + 5 == 15 // true
+sum(7)(3)(5) // 15
summ
应该返回可以被视为函数或数字的内容…?valueOf
对于非字符串值更有意义,尽管我已经编辑了我的问题。请帮忙。谢谢大家!@听说了,怎么了?它起作用了。它必须将函数返回到下一次调用的可能性,但是valueOf
允许我们将此函数解释为一个值<代码>+总和(7)(3)==10
,总和(7)(3)==10
。你还需要什么?我正在学习,请你解释一下:为什么‘sum(7)(3)==10’返回假,而‘sum(7)(3)==10’返回真。“+”的作用是什么?+val
类似于0+val
只是将类型转换为数字<代码>总和(5)结果具有函数
类型。这就是为什么严格平等==
失败的原因。使用+和(5)
进行类型转换后,两侧都有编号
类型和相同的值。