`

js typeof和instanceof

阅读更多

typeof

 

一元运算,放在一个运算数之前,运算数可以是任意类型。

返回值 ----- 一个字符串,说明运算数的类型。一般只能返回如下几个结果:

 

number,boolean,string,function,object,undefined

 

局限性:对于 Array,Null 等特殊对象返回 object,对函数、类和闭包返回function

 

 

//null表示对象为空或变量未引用却可以或者将要引用对象
alert(typeof(null));   //返回object
//undifined表示变量未定义或已声明未赋值或不存在的对象属性
alert(typeof(undefined));   //返回undefined
  内部属性 typeof返回值
“wjy” String string
new String("wjy") String object
1.5 Number number
new Number(1.5) Number object
true Boolean boolean
new Boolean("true") Boolean object
new Date() Date object
new Error() Error object
[1,2,3] Array object
new Array(1,2,3) Array object
new Function() Function object
/abc/g RegExp object
new  RegExp("meow") RegExp object
{} Object object
new Object Object object

 

用typeof还可以区分参数类型:

 

typeof(array) == "String" ? array.split(",") : array 

由于typeof的局限性只能区分对象和原始类型时才有效,这时真正区别一种对象和另一种对象之间的区别就要用到:

 

 

instanceof

 

对象运算符,判断一个变量是否某个对象的实例。左边运算数是一个对象,右边是对象类的名称。

返回值 ----- 左边对象是右边类或派生类的一个实例返回true,否则返回false

如果右边运算数不是一个对象,抛出一个系统级别异常。

仅仅用来比较来自同一个 JavaScript 上下文的自定义对象。

 

 

alert("" instanceof Object);   //false
alert([] instanceof Array);    //true

 

  function judge(){
		var arr=new Array();
		alert(typeof(arr));//object
		alert((arr instanceof Array));//true
  }
  

 

 

 

分享到:
评论

相关推荐

    JS中typeof与instanceof的区别

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

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

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

    详解JavaScript中typeof与instanceof用法

    在JavaScript中,typeof和instanceof是常用的两种检测数据类型的方式,它们各自有其适用的场景和特点。 ### typeof typeof 是一个一元运算符,它用于返回变量或表达式的类型。当使用typeof运算符时,它通常会返回...

    JS:typeof instanceof constructor prototype区别

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

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

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

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

    `typeof`和`instanceof`是两种常见的用于检测数据类型的工具,但它们有着不同的用法和限制。下面我们将深入探讨这两个操作符的区别及其在实际开发中的应用。 1. `typeof` 操作符 `typeof` 是JavaScript中的一个...

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

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

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

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

    Javascript typeof与instanceof的区别

    JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。 它返回值是一个字符...

    javascript instanceof 与typeof使用说明

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

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

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

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

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

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

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

    关于javascript中的typeof和instanceof介绍

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

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

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

Global site tag (gtag.js) - Google Analytics