为什么Javascript没有';t包括保留的关键字,例如;对象"&引用;数组"&引用;“函数”&引用;“数字……”。。。?

为什么Javascript没有';t包括保留的关键字,例如;对象"&引用;数组"&引用;“函数”&引用;“数字……”。。。?,javascript,keyword,Javascript,Keyword,一些特殊词,如对象,数组,函数,方法,编号等,不属于Javascrpt中的关键字: 但是我必须谨慎地使用它们,它们不是普通的词,比如对象,数组,方法,数字,foo 我想知道我们有多少这样的特殊词语?请给我列表。只是为了澄清,“函数”是一个保留字,“函数”是全局范围内的预定义对象 您列出的特殊单词(尽管我不确定“方法”?)在全局范围内。它们不一定是保留字,因为它们不是语言语法的一部分,在某些情况下可以被覆盖。但是,是的,通常情况下,它们不应该被使用,否则应该被视为“保留字”。另见 编辑:参考中提

一些特殊词,如
对象
数组
函数
方法
编号
等,不属于Javascrpt中的关键字:

但是我必须谨慎地使用它们,它们不是普通的词,比如
对象
数组
方法
数字
foo

我想知道我们有多少这样的特殊词语?请给我列表。

只是为了澄清,“函数”是一个保留字,“函数”是全局范围内的预定义对象

您列出的特殊单词(尽管我不确定“方法”?)在全局范围内。它们不一定是保留字,因为它们不是语言语法的一部分,在某些情况下可以被覆盖。但是,是的,通常情况下,它们不应该被使用,否则应该被视为“保留字”。另见

编辑:参考中提供的列表-这似乎是核心JavaScript对象的列表,无论JavaScript引擎是否在浏览器中运行。这是About.com上提供的列表的子列表。虽然我不知道为什么About.com上的全局对象列表中省略了“Boolean”,但这似乎是一个省略


(Mozilla)浏览器/DOM定义的其他对象列在中。

事实上,所有这些都归结为一件事:JavaScript区分大小写。这就是它区分
对象和
对象的原因

对象
数组
函数
数字
都不是关键词,也不是确切的“特殊”(无论你认为它们的意思是什么)词

它们只不过是JavaScript中的内置函数/类类型(您可以对它们执行
typeof
,然后查看)。不过,您现在并不经常直接使用它们,因为创建每种类型的对象都有不同的语法选择,例如:

var obj = {};
var func = function() {};
var arr = [];
var num = 123;

您提到的其他(
object
array
method
number
foo
)不是关键字或“特殊”词,因为正如我所说的JavaScript区分大小写,与大写的对应词相比,它们在JavaScript中毫无意义。当然,除非你通过用这些名称声明变量来赋予它们意义。

在那里发布的答案中没有指向这些列表的链接吗?所谓“特殊”是指大写的关键字吗?不仅仅是大写的。alert(对象)与FireFox中的alert(对象)不同。我的意思是函数,而不是函数。@John抱歉,是的,“函数”(大写字母“F”)是预定义的对象。Matt Hall告诉我,这与您的列表不同,尤其是函数,我还是有点困惑。@John我已经更新了我的答案,但是“函数”作为预定义的全局对象包含在两个列表中。谢谢,BoltClock。在哪里可以找到JavaScript中的所有内置函数/类类型?@Matt Ball,w3d提供了两个不同于您的链接,有什么评论吗?@John:Mozilla的JavaScript文档是官方的,因为他们是JavaScript脚本语言的开发人员和维护人员。@John:JavaScript是ECMA-262语言规范的实现——是的,正如BoltClock所说,Mozilla(基金会)是JavaScript开发人员:(见右边的侧栏)维基百科对什么是“JavaScript”有点误导。所以JavaScript是Mozilla的ES实现,好吧。。。但是如果你想说“javascript是ES实现的通用术语,包括Moz的javascript、MS的JScript等等”,那么你怎么能把V8称为“javascript实现”呢?这是非常误导的。