`

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 constructor prototype区别

    JS:typeof instanceof constructor prototype区别

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

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们各自有其独特的用法和局限性。 `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用法

    typeof用以获取一个变量或者表达式的类型而instanceof用于判断一个变量是否某个对象的实例,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧

    Javascript typeof与instanceof的区别

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

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

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

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

    次主要说说javascript的类型判断函数typeof和判断构造函数原型instanceof的用法和注意的地方,对本文感兴趣的朋友一起看看吧

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

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

    javascript instanceof 与typeof使用说明

    typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如 if(typeof a != “undefined”){},而不要去...

    JS 使用 typeof 获取数据类型

    这篇博客“JS 使用 typeof 获取数据类型”深入探讨了如何利用`typeof`来识别和处理不同类型的JavaScript数据。 首先,`typeof`返回的是一个字符串,这个字符串描述了变量的类型。它适用于原始数据类型(如`...

    关于javascript中的typeof和instanceof介绍

    typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型。...instanceof用来检测对象的类型(也可叫做引用类型。包含Object、Array、Date、RegExp、Function、基本包装类型(含Boolean、Number、String)

Global site tag (gtag.js) - Google Analytics