instanceof和typeof运算符的区别详解


Posted in Javascript onJanuary 06, 2014

一.instanceof运算符:
此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的。
想要理解它的作用,必须对面向对象有所理解:

代码实例如下:

var str=new String("antzone");  
console.log(str instanceof String);

以上代码会输出true,因为str是对象String的对象实例。
一般说来只有使用构造函数创建的对象才会返回true,否则返回false,不过数组是一个例外,都会返回true。

二.typeof运算符:
此运算符可以返回一个字符串,用语说明元算数的类型,它的返回值有如下可能:

number,boolean,string,function,object,undefined

先看一段代码实例:

var str=new String("antzone"); 
var strTwo="antzone";  
console.log(typeof str); 
console.log(typeof strTwo);

在以上代码中,第一个可以输出准确的类型"string",第二个确是"object",并不精准。
一般来说使用typeof的操作是直接量形式的话能够返回准确的结果,如果是使用构造函数创建的对象则会返回"object",不过对于数组来说是个例外,无论是否是直接量都会返回"object"。

Javascript 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
RGB颜色值转HTML十六进制(HEX)代码的JS函数
Apr 25 Javascript
JS面向对象编程之对象使用分析
Aug 19 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
Apr 24 Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 Javascript
javascript白色简洁计算器
May 04 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
Jun 23 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
vue通过watch对input做字数限定的方法
Jul 13 Javascript
Vue基于NUXT的SSR详解
Oct 24 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
js之ajax文件上传
May 13 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 #Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 #Javascript
Javascript 遍历页面text控件详解
Jan 06 #Javascript
jquery链式操作的正确使用方法
Jan 06 #Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 #Javascript
jquery修改属性值实例代码(设置属性值)
Jan 06 #Javascript
js定时器的使用(实例讲解)
Jan 06 #Javascript
You might like
PHP系统命令函数使用分析
2013/07/05 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
你必须知道的Javascript知识点之"单线程事件驱动"的使用
2013/04/23 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
Fabric 应用案例
2016/08/28 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
什么是类的返射机制
2016/02/06 面试题
如何打开WebSphere远程debug
2014/10/10 面试题
如何用JQuery进行表单验证
2013/05/29 面试题
求职毕业生自荐书
2014/02/08 职场文书
村党支部公开承诺书
2014/05/29 职场文书
员工2014年度工作总结
2014/12/09 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
基于Go Int转string几种方式性能测试
2021/04/28 Golang