我在哪里可以找到javascript本机函数源代码?

ASD*_*ASD 8 javascript function native-code

我在哪里可以找到原生js函数的源代码,例如我想看看eval()函数

jfr*_*d00 18

Chrome和Firefox都是开源的,您可以在这些产品的源代码中查看javascript引擎任何部分的实现.其他浏览器有自己的实现(如IE),公众无法查看.

Chrome v8 javascript引擎位​​于:http://code.google.com/p/v8/

Firefox SpiderMonkey引擎位于:https://developer.mozilla.org/en/SpiderMonkey

警告,如果您还不熟悉这些产品及其工具,可能需要一段时间才能熟悉并找到您要查找的内容.

  • @Igor-窗口对象本身不是Javascript的一部分。它是一个宿主对象,因此您可以在Chrome或Firefox的实际实现中找到它的代码,而不是在JS引擎中找到它。 (2认同)

rid*_*rid 2

在 JavaScript 引擎的源代码中。

  • 请记住,源代码不是 JavaScript——它通常是 C 或 C++。(不然就不是原生的了!) (9认同)
  • @jfriend00,这对你来说可能是显而易见的,但对发帖者来说肯定不明显,否则他就不会问这个问题。如果这是显而易见的,那么问题就更接近“引擎 X 的源代码中的何处定义了‘eval’函数?”。并“告诉我们一些我们还不知道的事情”?这不是为您或已经知道的人提供的答案,而是为那些不知道的人提供的。 (9认同)
  • @ASD - V8(Google Chrome 中使用的引擎)位于:http://code.google.com/p/v8/source/browse。 (4认同)
  • @Abdul,JS 引擎确实像 JVM 或 CLR。就 JS 而言,标准没有明确指定 VM 和库必须使用哪种语言编写,但通常都以本机代码编写。尝试例如“console.log(Date)”之类的内容,您很可能会看到“function Date() { [native code] }”。 (2认同)