`
cxy020
  • 浏览: 63559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

typeof与instanceof

阅读更多
typeof 返回对象数据类型,总共有6种返回结果
"number","string","boolean","object","function","undefined"
语法: typeof "a" == "string"
      typeof  [] == "object"


instanceof 判断对象是否是特定类的一个实例,返回一个 Boolean 值。

语法: var a = new String("ss");
      a instanceof String == true
      [] instanceof Array == true
但是 "sss" instanceof String == false, 为什么呢,个人认为有两个原因
1.通过typeof 知道  typeof new String("ss") == "object",
而typeof "ss" == "string"
2.instanceof 是判断对象

在实际开发中,我们通常使用typeof来判断一个变量是否存在。
如if(typeof a!="undefined"){},而不要去使用if(a),因为如果a不存在(未声明)则会出错。
但是对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。

我们通常使用instanceof来判断对象是否是数据,或者是否是某一个对象的实例。
如var a=new Array();a instanceof Array == true,
var a = new Object(); a instanceof Array == false。
再如:function test(){};var a=new test();a instanceof test == true。


但是js也有特列,看起来像数组或对象却实际上又不是。
如:function的arguments,arguments看起来是一个Array,但如果使用instaceof去测试会发现arguments不是一个Array对象。
如:window instanceof Object, 这个在IE7里面会返回false,但是在ff里面返回的却是true。

分享到:
评论

相关推荐

    JS中typeof与instanceof的区别

    JS 中 typeof 与 instanceof 的区别 在 JavaScript 中,typeof 和 instanceof 是两个常用的运算符,用来判断一个变量是否为空,或者是什么类型的。但是,这两个运算符之间还是有区别的。 typeof 运算符是一个一元...

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

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们各自有其独特的用法和局限性。 `typeof`操作符是一个一元运算符,它用于确定变量或表达式的类型,并返回一个表示该类型的字符串。`typeof`...

    详解JavaScript中typeof与instanceof用法

    与typeof不同的是,instanceof可以准确区分对象、数组以及它们的构造函数,因此在处理复杂数据类型时更为可靠。 ### 使用场景 通常,如果你只是想检查一个变量是否已经声明或者想要获取其基本数据类型(number, ...

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

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们各自有着不同的用法和特点。理解这两者之间的差异对于编写健壮的JavaScript代码至关重要。 `typeof`操作符主要用于检测变量的数据类型。它...

    关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx

    3. `typeof` 与 `instanceof` 的区别与开发中的使用建议 - `typeof` 更适合用于检测基本类型,尤其是当需要区分`undefined`、`null`、`boolean`、`string`、`number`、`bigint`、`symbol`和`function`时。 - `...

    Javascript typeof与instanceof的区别

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们都用于检测变量的类型,但有着不同的用法和返回结果。理解它们的区别对于编写健壮的JavaScript代码至关重要。 `typeof`是一个一元操作符,...

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

    前端大厂最新面试题-typeof_instanceof 在前端开发中, typeof 和 instanceof 是两种常用的判断数据类型的方法,下面我们将详细介绍这两种方法的使用方法、区别和实现原理。 一、typeof 操作符 typeof 操作符返回...

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

    在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案。 typeof ——————————————————————...

    JS:typeof instanceof constructor prototype区别

    然而,`typeof`也有其局限性,如不能准确区分不同类型的对象,比如无法辨别数组与普通对象的区别。因此,在处理复杂对象类型时,可能需要结合其他方法使用。 ### 2. `instanceof` `instanceof`运算符用于检查构造...

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

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

    javascript instanceof 与typeof使用说明

    在JavaScript编程中,typeof和instanceof是两种常用的运算符,它们都可以用来判断变量的数据类型或类的实例。为了深入理解这两个运算符的使用方法和区别,我们需要详细探讨它们各自的特性和适用场景。 首先,typeof...

    javascript之typeof、instanceof操作符使用探讨

    写javascirpt代码时,typeof和instanceof这两个操作符时不时就会用到,堪称必用。但是!使用它们总是不能直接的得到想要的结果,非常纠结,普遍的说法认为“这两个操作符或许是javascript中最大的设计缺陷,因为几乎...

    typeOf:nodejs typeof工厂(instanceof的改进)

    输入类型允许将您的值与代表... // 'object'null instanceof Object //false [有趣的事实] Object.prototype与具有typeof和instanceof的null的结果相同正则表达式使用正则表达式文字,有人会希望typeof返回一个特定的值

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

    JavaScript提供了两种主要的方式来判断数据类型:typeof和instanceof。 首先,我们来深入了解typeof。typeof是一个一元运算符,能够用来检测变量的数据类型。它会返回一个表示变量类型的字符串。通常,typeof有以下...

    关于javascript中的typeof和instanceof介绍

    在JavaScript编程语言中,typeof和instanceof是两个用于检测数据类型的操作符。 typeof可以用来检测给定变量的基本数据类型,而instanceof用于检测对象是否属于某个特定的引用类型,或者更准确地说,是否是在某个类...

Global site tag (gtag.js) - Google Analytics