我最近在我的系统中安装了v8并尝试了一些javascript程序,但是alert
,prompt
等一些输出功能尚未被它识别。如果我在浏览器中运行相同的程序工作正常。我错过了什么吗?
答案 0 :(得分:4)
是的:您提到的功能实际上并不是JS语言规范的一部分,而是Web浏览器特定的扩展。
答案 1 :(得分:4)
警报和提示不是DOM的一部分。它们是在浏览器中“活动”的所谓主机对象。
JavaScript规范定义了规范中记录的原生对象。
浏览器实现了JavaScript规范,但它们还引入了其他主机对象。警报和提示功能就是这些例子。
DOM只是浏览器中存在的所有主机对象的子集。具体来说,DOM被认为是document
对象及其所有属性。 document
对象只是浏览器中“活”的众多主机对象之一。所有其他主机对象(如警报和提示)不是DOM的一部分。
的更新强> 的
DOM由W3C定义。有11个DOM标准。其中任何一个都没有定义alert方法,因此它不是DOM方法。实际上有数百个浏览器对象没有被DOM标准定义,并且这些对象不被视为DOM的一部分。有些人不理解这种区别,因此他们认为所有浏览器对象都是DOM对象。
答案 2 :(得分:1)
alert()
和prompt()
是DOM的方法,因此您只能在浏览器环境中使用它们。
有关详细信息,请参阅MDC上的The DOM and JavaScript。