JavaScript 中的数学对象
Math object in JavaScript
在JavaScript中,Math对象没有构造函数,但为什么要大写如Math.random()?
据我了解,诸如 Date 和 Object 之类的对象之所以大写是因为它们具有构造函数(例如 Date.now())
首字母大写并非仅用于构造函数,尽管这是主要用途。它也用于像 Math
和 Reflect
这样的对象,像 Infinity
这样的值,以及 Symbol
函数(Symbol
创建符号,但不是构造函数——你不使用 new
)。它将它们与局部变量区分开来。
其中很多是 Brendan Eich 在 1995 年 5 月疯狂的 10 天里完成的,考虑到他工作的最后期限,他可能并不太担心他是什么和没有利用什么。 :-)
(有人说Infinity
和NaN
应该是infinity
和nan
来匹配undefined
和null
,但是。 ..一致性很难。然后就是 Infinity
、NaN
和 undefined
是全局常量,但 null
是关键字...)
在JavaScript中,Math对象没有构造函数,但为什么要大写如Math.random()? 据我了解,诸如 Date 和 Object 之类的对象之所以大写是因为它们具有构造函数(例如 Date.now())
首字母大写并非仅用于构造函数,尽管这是主要用途。它也用于像 Math
和 Reflect
这样的对象,像 Infinity
这样的值,以及 Symbol
函数(Symbol
创建符号,但不是构造函数——你不使用 new
)。它将它们与局部变量区分开来。
其中很多是 Brendan Eich 在 1995 年 5 月疯狂的 10 天里完成的,考虑到他工作的最后期限,他可能并不太担心他是什么和没有利用什么。 :-)
(有人说Infinity
和NaN
应该是infinity
和nan
来匹配undefined
和null
,但是。 ..一致性很难。然后就是 Infinity
、NaN
和 undefined
是全局常量,但 null
是关键字...)