我正在阅读Flanagan的Definitive JavaScript,其中列出了该语言定义的所有JavaScript全局对象。
然而,其中5个(约20个)似乎与非语言相关:
decodeURI
encodeURI
decodeURIComponent
encodeURIComponent
JSON
当URI和JSON更像浏览器服务器时,为什么这些被认为是语言的一部分?
参考
答案 0 :(得分:4)
Microsoft在IE5.5中引入了encodeXXX
和decodeXXX
方法(其次是Netscape 6),后来包含在ECMA-262规范的修订版3/1999中。
JSON之后推出,今天得到了所有主流浏览器的支持,并且包含在ECMA-262规范的第5/2011版中。
这些方法不是原始语言的一部分,也许它们不应该在全局命名空间中。与AJAX
一样,这些方法是由特定供应商引入的,后来被其他供应商采用,没有严格和正式的流程。 JavaScript的美丽丑陋的另一个方面。