Javascript 函数和-为什么在函数上使用toString

Javascript 函数和-为什么在函数上使用toString,javascript,closures,Javascript,Closures,我刚开始做一些JS的东西,但脑子里想不起来什么。我有以下任务: 编写一个函数,将传递给它的数字与内部和相加 并将其内部和设置为新值返回自身,因此 可以以功能性方式链接。输入:您的函数需要 以一个数字参数为例。输出:您的函数需要返回自身 具有更新的上下文 在这里和那里的一些提示之后,我产生了以下代码: 函数添加(num){ 设sum=num; 函数func(num2){ 总和+=num2; 返回函数; } func.toString=function(){return sum;}; 返回函数;

我刚开始做一些JS的东西,但脑子里想不起来什么。我有以下任务:

编写一个函数,将传递给它的数字与内部和相加 并将其内部和设置为新值返回自身,因此 可以以功能性方式链接。输入:您的函数需要 以一个数字参数为例。输出:您的函数需要返回自身 具有更新的上下文

在这里和那里的一些提示之后,我产生了以下代码:

函数添加(num){
设sum=num;
函数func(num2){
总和+=num2;
返回函数;
}
func.toString=function(){return sum;};
返回函数;
}
console.log(
加(1)
);
console.log(
加(1)(6)(-3)

); 最后哪两行?
add
中的最后两个,或者示例
add(1)…
中的最后两个?func.toString=function(){return sum;};返回函数;如果您注释掉该行并再次运行相同的示例,您可以确切地看到它出现的原因—
add(1)
add(1)(6)(-3)
的结果是
func
,因此,在不更改其
toString
方法的情况下,您不会看到结果值。@jonrsharpe因此基本上我重写了函数的toString方法,以便可以看到结果和。