下面都对变量test的值进行说明。有一点可以先说明的是,typeof的值始终只有这样几个:“number”、“string”、“Boolean”、“object”、“function”和“undefined”、“unknown”。
注意,typeof为“unknown”的情况特别罕见,在微软的文档中几乎没有提到,笔者也是在“typeof TdcObj.recordset.recordcount”的时候才发现这个特例的。
而对象的constructor属性值则视情况而论。
typeof和constructor的比较
变
量
|
typeof
返回的都是
String
串
|
constructor
返回的是对象
|
其他说明
|
//
这里省略了
( )
var test = new Object;
//
上面等同于
var test = {};
|
object
|
Object
|
任何自定义对象
(Object)
的
typeof
都是
object
|
var test = new Array(123,456);
//
上面等同于
var test = [123,456];
|
object
|
Array
|
|
var test = function(){};
//
上面等同于
var test = new Function();
|
Function
|
Function
|
但是请注意,如果是
var oT = new test();
则
typeof oT
等于
object
|
function fnMyTest(){}
//
这里省略了
()
var test = new fnMyTest;
|
object
|
fnMyTest
|
要特别注意的是,自定义函数的
constructor
等于这个定义的函数对象,又,例如:
(new Date).constructor
等于
Date
,它的
typeof
等于
object
|
var test = null;
|
object
|
发生错误,无法获取
constructor
,虽然它的
tyepof
是“
object
”,这就是它的特殊性
|
这种情况是非常特殊的,读者朋友要特别小心。在程序运行过程中常常会发生这样的情况的,在你并不知道已经为
null
的情况下却还在求
test.constructor
的内容
|
var test = undefined;
|
undefined
|
同
null
一样,会发生错误,因为它不是一个有效的变量或对象
|
|
var test = 9897;
|
number
|
Number
|
|
var test = “My Test String”;
|
string
|
String
|
|
分享到:
相关推荐
本文将深入探讨四种常用的方法来识别和判断JavaScript中的数据类型:`typeof`、`instanceof`、`constructor`以及`prototype`。 ### 1. `typeof` `typeof`操作符是最常见的类型检测方式之一,它返回一个表示未经计算...
首先,让我们来了解一下 typeof 函数和 constructor 属性的区别。typeof 函数可以告诉我们变量的类型,但是它有其局限性。例如,对于数组和对象,typeof 函数都会返回 "object",无法告诉我们变量的具体类型。这时 ...
总结来说,`typeof`和`instanceof`的主要区别在于: - `typeof`主要用来检测基本数据类型,对于引用类型(除了函数)都返回 "object"。 - `instanceof`用于判断对象是否为特定构造函数的实例,依赖于原型链。 在...
避免使用`for in`循环遍历数组,采用经典`for`循环并缓存`length`,明确理解`Array`构造函数的行为,以及正确使用`typeof`和`instanceOf`进行类型检查,这些都是编写高质量JavaScript代码的关键。
总结来说,`typeof`、`instanceof`和`constructor`各有其优势和限制。在实际开发中,应根据具体需求选择合适的判断方式,以确保准确地识别和处理不同类型的值。同时,了解它们之间的差异和潜在问题,有助于编写出更...
总结起来,`instanceof`和`typeof`是JavaScript中用于类型检查的重要工具。`instanceof`用于判断对象是否为特定类的实例,而`typeof`则用于识别基本类型的变量。了解并熟练运用这两个操作符,可以提高我们的编程效率...
在JavaScript中,typeof操作符和constructor属性是两种检测数据类型的方法。它们各自有不同的使用场景和特点。下面详细介绍这两者的知识内容。 首先,typeof操作符用于检测变量的数据类型。它对不同类型的变量会...
在前端开发中, typeof 和 instanceof 是两种常用的判断数据类型的方法,下面我们将详细介绍这两种方法的使用方法、区别和实现原理。 一、typeof 操作符 typeof 操作符返回一个字符串,表示未经计算的操作数的类型...
`typeof`能够区分JavaScript中的原始类型,包括`Undefined`、`Null`、`Boolean`、`Number`和`String`。然而,当遇到引用类型时,`typeof`会统一返回`object`,因此无法直接判断对象具体是什么类型,比如数组、日期等...
通过学习和应用这些代码,开发者可以提高他们代码的健壮性和类型检查的准确性,避免因类型错误导致的程序问题。 总的来说,JavaScript中的类型检查是一个关键的实践领域,尤其是在大型复杂项目中。通过更明确的类型...
总结,`typeof`在JavaScript中是一个强大的工具,但也有一些陷阱需要注意。理解它的行为是编写健壮JavaScript代码的关键。在处理`null`、数组、对象和其他特殊类型时,要特别小心,并考虑使用额外的检查方法来确保...
2. **布尔值(boolean)**:布尔值`true`和`false`使用`typeof`也会返回`"boolean"`。同样,`Boolean()`构造函数的结果也是如此。 3. **数字(number)**:包括普通数字、`NaN`和`Infinity`,`typeof`返回`"number...
`typeof`的使用不仅有助于防止类型错误,还能帮助我们在编写动态类型的JavaScript代码时更好地理解和控制数据。以下是关于`typeof`用法的详细说明: 1. **基本类型检查** - `typeof`对于原始类型(如`undefined`、...
总结来说,typeof和instanceof是JavaScript中检测类型的两个基本工具,但它们各自都有局限性。typeof无法区分object类的具体类型,instanceof虽然可以识别更复杂的类型,但在检测对象是否为某种特定的object类型时会...
本文将总结几种常见的检测JavaScript数据类型的方法,包括它们的优缺点以及如何利用这些方法进行类型检查。 1. `typeof` 操作符: `typeof` 是JavaScript中最直接的数据类型检测方法。它会返回一个字符串,表示...
总结起来,`typeof`和`instanceof`在JavaScript中都用于类型检查,但它们有着不同的应用场景。`typeof`适合于基本类型的判断,而`instanceof`则适用于判断对象是否为特定类的实例。在实际开发中,两者结合使用可以...
总结来说,`class`在JavaScript中提供了面向对象编程的语法,而`typeof`操作符虽然在大多数情况下能准确地返回变量类型,但在面对类时,由于类的本质是函数,它会返回`"function"`。理解这一特性对于编写可靠的类型...