Javascript toString覆盖函数返回类型
Javascript toString overwrite function return type
我是JavaScript编程语言的新手,目前正在学习闭包。我知道,如果我们警告返回一个函数的函数,我们将看到返回函数的源代码:
function sum(a) {
var sum = a
function f(b) {
sum += b
return f
}
f.toString = function() { return sum }
return f
}
var a=sum(2)(2)(2)(2); //why this sum function return sum
//instead of function f source code
alert(a);
在上面的代码中,为什么函数sum()
返回内部作用域变量sum
而不是返回函数f
的源代码?toString
函数是否覆盖函数sum()
的返回类型?
alert(a)
将调用a.toString()
并显示其结果
默认函数toString()
(Function.prototype.toString
)返回函数的源。
如果您用自己的toString()
替换它,它将返回您的函数返回的任何值。
相关文章:
- 从Mongoose结果匿名函数返回父函数
- 你能调用一个在调用者上下文中返回的函数吗
- 单击从子函数返回父函数
- NodeJS:创建一个hash并返回一个函数的值
- mongodb中db.collection.find()的返回类型是什么
- 返回JavaScript函数中的值
- Json 返回每个函数
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 了解存储的MongoDB javascript函数中MongoDB命令的返回类型
- 没有返回类型的函数的Javascript单元测试
- 重新打开程序函数返回类型错误“无法读取 null 的属性'样式'”
- 我应该如何声明一个函数的返回类型,该函数返回一个没有数据的$q promise
- 为什么PowerShell函数的返回类型总是数组
- javascript:确定函数的返回类型
- 使用c++中的构造函数时,ffi的返回类型是什么?
- 显式设置函数的返回类型
- TS1057:异步函数或方法必须具有有效的可等待返回类型
- 函数作为返回类型javascript
- Javascript toString覆盖函数返回类型
- 当第一次调用返回类型函数时,没有调用两个javascript函数