1
22
This page 在JS中有一个类型列表,以及从typeof得到的每个类型的响应。它还有一些JS代码,可以用返回更多有用信息的函数重写typeof函数。如果您担心它没有用,如果您愿意,可以实现类似的功能。 |
2
8
它并不总是返回“object”:
也就是说,检查对象的一个(可能)更有用的技巧是
|
3
5
为此,我首先检查typeof,然后检查null大小写或“object's”构造函数,如下所示:
|
4
3
并非所有typeof都返回对象。
对象,数组
和
返回类型
功能
它是一个对象(引用类型),但返回
未定义
退货
南
(不是数字)返回
你最好记录下所有这些,并注意这些奇怪的行为。
|
5
2
要与其他对象一起添加,typeof同时返回对象和原语。javascript中有5种基本类型:undefined、null、boolean、string和number。一切都是一个对象。当typeof应用于函数以外的任何对象类型时,它只返回object。当应用于函数时,它返回一个函数对象。 例如:
为了进一步阐明Pointy的答案,在ECMAScript 5中,每个JavaScript对象都有一个称为[[Class]]的内部属性。为了显示对象的实际值,可以使用以下方法引用[[Class]]属性:
您可以使用调用获取实际的对象类型:
|
6
1
检查变量是否存在时(typeof variable!==“undefined”)有时需要首先检查(variable==null),因为typeof为赋值为null的变量返回“object”。
|
7
-1
您必须了解JavaScript中的类型系统是动态的,有一些“灵长类”类型可供构建。通过将所有复杂对象视为类型“object”,这允许您回避类型并调用方法,而不必知道所传递对象的类型(假设该类型实现了函数调用)。在动态编程语言中,一切都是“对象”。 |