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之间的区别进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
JS中typeof与instanceof之间的区别总结.docx
关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx
typeof用以获取一个变量或者表达式的类型而instanceof用于判断一个变量是否某个对象的实例,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的,需要的朋友可以参考下
前端大厂最新面试题-typeof_instanceof.docx
在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案。 typeof ——————————————————————...
JS:typeof instanceof constructor prototype区别
now instanceof Date // 输出: true now.constructor == Date // 输出: true typeof 'hello' // 输出: string typeof('hello') // 高版本的 js 支持这种写法。输出: string 看起来是这样的: typeof 返回一个对象的...
写javascirpt代码时,typeof和instanceof这两个操作符时不时就会用到,堪称必用。但是!使用它们总是不能直接的得到想要的结果,非常纠结,普遍的说法认为“这两个操作符或许是javascript中最大的设计缺陷,因为几乎...
Vue面试题第二部分整理内容包括: 1.变量的提升 ...20.typeof与instanceof区别 21.cookie、localstorage、session、indexDB区别 22.如何解决跨域 23.什么是事件代理 24.Babel原理 25.如何实现一个插件 等
输入类型允许将您的值与代表... // 'object'null instanceof Object //false [有趣的事实] Object.prototype与具有typeof和instanceof的null的结果相同正则表达式使用正则表达式文字,有人会希望typeof返回一个特定的值
instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量。
js代码-js数据类型判断(typeof、instanceof)