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 相关文章推荐
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
jquery实现右键菜单插件
Mar 29 Javascript
JS基于面向对象实现的放烟花效果
May 07 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
Jan 02 Javascript
vue计算属性get和set用法示例
Feb 08 Javascript
微信小程序 搜索框组件代码实例
Sep 06 Javascript
vue实现输入一位数字转汉字功能
Dec 13 Javascript
Vue computed 计算属性代码实例
Apr 22 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 Javascript
uniapp引入支付宝原生扫码插件步骤详解
Jul 23 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/06/19 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
Javascript this 的一些学习总结
2012/08/31 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
Python搜索引擎实现原理和方法
2017/11/27 Python
python在每个字符后添加空格的实例
2018/05/07 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
四川成都导游欢迎词
2014/01/18 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
班干部演讲稿
2014/04/24 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL