为什么console.log()和alert()函数实际上不是Javascript的一部分?

时间:2016-10-29 22:23:58

标签: javascript

就是这样。 Mozilla's Introduction to OOP in Javascript解释说console.log()函数实际上并不是Javascript本身的一部分。所以我很想知道为什么这些?

2 个答案:

答案 0 :(得分:2)

JavaScript是一种语言规范(严格来说,ECMAScript)。

console,另一方面,是一个API 。目前有669 Web APIs listed on MDN(回答你的第二个问题)。例如,window也是如此。

为什么它不是JavaScript核心的一部分? NodeJS(核心)或window无法在浏览器中使用process同样的原因:这些API由运行JavaScript的环境实现。

同样,为什么会在NodeJS中实现alert(),在那里没有用户界面可以用你的消息启动模态?

答案 1 :(得分:0)

Javascript-Interpreters是非常复杂的软件包。 但是,正如Chromium(a.k.a Google Chrome),Microsoft Chakra和Mozilla Firefox是开源的,可以随意浏览它们的源代码。

以下是Microsoft Chakra的源代码: Microsoft/ChakraCore on Github

它有很好的文档,所以你应该很快找到它的工作原理。然而,深入细节可能非常困难......