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 相关文章推荐
Jquery倒数计时按钮setTimeout的实例代码
Jul 04 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
JavaScript生成带有缩进的表格代码
Jun 15 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
JS原生数据双向绑定实现代码
Aug 14 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
十个免费的web前端开发工具详细整理
Sep 18 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
element-ui 本地化使用教程详解
Oct 28 Javascript
VUE中V-IF条件判断改变元素的样式操作
Aug 09 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
我的论坛源代码(十)
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
文字幻灯片
2006/06/26 Javascript
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
JS常见算法详解
2017/02/28 Javascript
react-router实现按需加载
2017/05/09 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
Python hashlib模块的使用示例
2020/10/09 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
中英双版中文教师求职信
2013/10/27 职场文书
介绍信格式
2015/01/30 职场文书
小学生暑假生活总结
2015/07/13 职场文书