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的区别
JS:typeof instanceof constructor prototype区别
本文是对JS中typeof与instanceof之间的区别进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx
在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案。 typeof ——————————————————————...
JS中typeof与instanceof之间的区别总结.docx
typeof用以获取一个变量或者表达式的类型而instanceof用于判断一个变量是否某个对象的实例,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的,需要的朋友可以参考下
写javascirpt代码时,typeof和instanceof这两个操作符时不时就会用到,堪称必用。但是!使用它们总是不能直接的得到想要的结果,非常纠结,普遍的说法认为“这两个操作符或许是javascript中最大的设计缺陷,因为几乎...
次主要说说javascript的类型判断函数typeof和判断构造函数原型instanceof的用法和注意的地方,对本文感兴趣的朋友一起看看吧
输入类型允许将您的值与代表... // 'object'null instanceof Object //false [有趣的事实] Object.prototype与具有typeof和instanceof的null的结果相同正则表达式使用正则表达式文字,有人会希望typeof返回一个特定的值
typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如 if(typeof a != “undefined”){},而不要去...
typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型。...instanceof用来检测对象的类型(也可叫做引用类型。包含Object、Array、Date、RegExp、Function、基本包装类型(含Boolean、Number、String)