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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
Apr 07 Javascript
jquery 提交值不为空的元素示例代码
May 10 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
Nov 25 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
Vue.js实现分页查询功能
Nov 15 Javascript
vue父组件异步获取数据传给子组件的方法
Jul 26 Javascript
Vue弹出菜单功能的实现代码
Sep 12 Javascript
js图片查看器插件用法示例
Jun 22 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 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的历史和优缺点
2006/10/09 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
python随机取list中的元素方法
2018/04/08 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
python读写csv文件方法详细总结
2019/07/05 Python
Python使用configparser库读取配置文件
2020/02/22 Python
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
领班岗位职责范文
2014/02/06 职场文书
总经理岗位职责描述
2014/02/08 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
幼师中班个人总结
2015/02/12 职场文书
文言文辞职信
2015/02/28 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
nginx安装以及配置的详细过程记录
2021/09/15 Servers
Python实现为PDF去除水印的示例代码
2022/04/03 Python
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android