`
xiexd
  • 浏览: 248660 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

typeof和constructor总结

阅读更多

下面都对变量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

 




分享到:
评论

相关推荐

    JS:typeof instanceof constructor prototype区别

    本文将深入探讨四种常用的方法来识别和判断JavaScript中的数据类型:`typeof`、`instanceof`、`constructor`以及`prototype`。 ### 1. `typeof` `typeof`操作符是最常见的类型检测方式之一,它返回一个表示未经计算...

    JavaScript的constructor属性[文].pdf

    首先,让我们来了解一下 typeof 函数和 constructor 属性的区别。typeof 函数可以告诉我们变量的类型,但是它有其局限性。例如,对于数组和对象,typeof 函数都会返回 "object",无法告诉我们变量的具体类型。这时 ...

    JS中typeof与instanceof之间的区别总结.docx

    总结来说,`typeof`和`instanceof`的主要区别在于: - `typeof`主要用来检测基本数据类型,对于引用类型(除了函数)都返回 "object"。 - `instanceof`用于判断对象是否为特定构造函数的实例,依赖于原型链。 在...

    Array, Array Constructor, for in loop, typeof, instanceOf

    避免使用`for in`循环遍历数组,采用经典`for`循环并缓存`length`,明确理解`Array`构造函数的行为,以及正确使用`typeof`和`instanceOf`进行类型检查,这些都是编写高质量JavaScript代码的关键。

    typeof、instanceof、constructor 的联系、区别、应用场景(js 类型判断)

    总结来说,`typeof`、`instanceof`和`constructor`各有其优势和限制。在实际开发中,应根据具体需求选择合适的判断方式,以确保准确地识别和处理不同类型的值。同时,了解它们之间的差异和潜在问题,有助于编写出更...

    instanceof 判断引用类型,typeof判断基本类型。

    总结起来,`instanceof`和`typeof`是JavaScript中用于类型检查的重要工具。`instanceof`用于判断对象是否为特定类的实例,而`typeof`则用于识别基本类型的变量。了解并熟练运用这两个操作符,可以提高我们的编程效率...

    javascript中typeof操作符和constucor属性检测

    在JavaScript中,typeof操作符和constructor属性是两种检测数据类型的方法。它们各自有不同的使用场景和特点。下面详细介绍这两者的知识内容。 首先,typeof操作符用于检测变量的数据类型。它对不同类型的变量会...

    前端大厂最新面试题-typeof_instanceof.docx

    在前端开发中, typeof 和 instanceof 是两种常用的判断数据类型的方法,下面我们将详细介绍这两种方法的使用方法、区别和实现原理。 一、typeof 操作符 typeof 操作符返回一个字符串,表示未经计算的操作数的类型...

    基于javascript中的typeof和类型判断(详解)

    `typeof`能够区分JavaScript中的原始类型,包括`Undefined`、`Null`、`Boolean`、`Number`和`String`。然而,当遇到引用类型时,`typeof`会统一返回`object`,因此无法直接判断对象具体是什么类型,比如数组、日期等...

    一个更明确的typeof改善

    通过学习和应用这些代码,开发者可以提高他们代码的健壮性和类型检查的准确性,避免因类型错误导致的程序问题。 总的来说,JavaScript中的类型检查是一个关键的实践领域,尤其是在大型复杂项目中。通过更明确的类型...

    js中typeof的用法汇总

    总结,`typeof`在JavaScript中是一个强大的工具,但也有一些陷阱需要注意。理解它的行为是编写健壮JavaScript代码的关键。在处理`null`、数组、对象和其他特殊类型时,要特别小心,并考虑使用额外的检查方法来确保...

    【JavaScript源代码】一篇文章弄懂js中的typeof用法.docx

    2. **布尔值(boolean)**:布尔值`true`和`false`使用`typeof`也会返回`"boolean"`。同样,`Boolean()`构造函数的结果也是如此。 3. **数字(number)**:包括普通数字、`NaN`和`Infinity`,`typeof`返回`"number...

    js代码-typeof的用法

    `typeof`的使用不仅有助于防止类型错误,还能帮助我们在编写动态类型的JavaScript代码时更好地理解和控制数据。以下是关于`typeof`用法的详细说明: 1. **基本类型检查** - `typeof`对于原始类型(如`undefined`、...

    JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    总结来说,typeof和instanceof是JavaScript中检测类型的两个基本工具,但它们各自都有局限性。typeof无法区分object类的具体类型,instanceof虽然可以识别更复杂的类型,但在检测对象是否为某种特定的object类型时会...

    js中检测数据类型的方法总结1

    本文将总结几种常见的检测JavaScript数据类型的方法,包括它们的优缺点以及如何利用这些方法进行类型检查。 1. `typeof` 操作符: `typeof` 是JavaScript中最直接的数据类型检测方法。它会返回一个字符串,表示...

    谈谈我对JavaScript中typeof和instanceof的深入理解

    总结起来,`typeof`和`instanceof`在JavaScript中都用于类型检查,但它们有着不同的应用场景。`typeof`适合于基本类型的判断,而`instanceof`则适用于判断对象是否为特定类的实例。在实际开发中,两者结合使用可以...

    js代码-class A, typeof() 输出 function

    总结来说,`class`在JavaScript中提供了面向对象编程的语法,而`typeof`操作符虽然在大多数情况下能准确地返回变量类型,但在面对类时,由于类的本质是函数,它会返回`"function"`。理解这一特性对于编写可靠的类型...

Global site tag (gtag.js) - Google Analytics