【发布时间】:2021-01-05 02:36:59
【问题描述】:
我希望了解 JavaScript 中的 typeof 运算符如何知道对象是函数。
确切地说,我想知道如何获取函数“body”并对其进行逆向工程以确定它期望的参数。 arguments 属性似乎很接近,但仅在评估函数中可用。
uneval() 或 toSource() 似乎都没有做我想做的事,除了已经过时了。
【问题讨论】:
-
与你相比,我可能只知道一小部分,但我会开始在 GitHub 上查看 v8 源代码,我发现这个文件似乎与 typeof 运算符有关:chromium.googlesource.com/v8/v8/+/…
-
tc39.es/ecma262/#sec-typeof-operator 对象(实现 [[Call]])“函数”
-
您可以使用
myFunction.toString()并解析结果。在大多数情况下,您可能可以获得参数的名称,但我看不出这与typeof有什么关系。 -
@CristopherRosales 我在搜索时忽略了,会看看
-
@connexo 我在 MDN 上看到了类似的东西。我不明白
(implements [[Call]])是什么意思。
标签: javascript typeof