关于javascript中的typeof和instanceof介绍


Posted in Javascript onDecember 04, 2012

typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型。包含undefined、boolean、string、number、object、function)
var message = "so easy";
alert(typeof message); //"string"
alert(typeof 12); //"number"

可以这样记忆:typeof是用来判断不是用new创建的“变量”。

instanceof用来检测对象的类型(也可叫做引用类型。包含Object、Array、Date、RegExp、Function、基本包装类型(含Boolean、Number、String))
var numberObject = new Number(10);
var numberValue = 10;
alert(typeof numberObject); //"object"
alert(typeof numberValue); //"number"
alert(numberObject instanceof Number); //true
alert(numberValue instanceof Number); //false
numberValue是number基础数据类型,不属于任何引用类型。
numberObject是object基础数据类型,属于Number引用类型(所有引用类型都从Object引用类型继承而来)。

可以这样记忆:instanceof检测的都是用new创建的“对象”。而没有通过new创建出来的“变量”不属于任何一个引用类型。用typeof检测用new创建的“对象”始终返回的是“object引用类型”.

isPrototypeOf()方法用来检测原型和实例的关系。instanceof同样也可以检测。只要是原型链中出现过的原型,都可以说是该原型链所派生的实例的原型。
var person = new Person(); //Person继承与Object
alert(Person.prototype.isPrototypeOf(person)); //true
alert(Object.prototype.isPrototypeOf(person)); //true

 

Javascript 相关文章推荐
JavaScript 三种不同位置代码的写法
Oct 25 Javascript
javascript奇异的arguments分析
Oct 20 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
Dec 15 Javascript
腾讯UED 漂亮的提示信息效果代码
Sep 12 Javascript
js从Cookies里面取值的简单实现
Jun 30 Javascript
js验证上传图片的方法
May 12 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 Javascript
小程序实现带年月选取效果的日历
Jun 27 Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 Javascript
React Hooks的深入理解与使用
Nov 12 Javascript
Vue组件通信$attrs、$listeners实现原理解析
Sep 03 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 #Javascript
js动画(animate)简单引擎代码示例
Dec 04 #Javascript
JavaScript中“+”的陷阱深刻理解
Dec 04 #Javascript
将光标定位于输入框最右侧实现代码
Dec 04 #Javascript
JavaScript中__proto__与prototype的关系深入理解
Dec 04 #Javascript
js 限制数字 js限制输入实现代码
Dec 04 #Javascript
JSON语法五大要素图文介绍
Dec 04 #Javascript
You might like
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
浅析php工厂模式
2014/11/25 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
PHP反射基础知识回顾
2020/09/10 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python的subprocess模块总结
2014/11/07 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
优秀的计算机专业求职信范文
2013/12/27 职场文书
网吧消防安全制度
2014/01/28 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
卫校毕业生个人自我鉴定
2014/04/28 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
六五普法宣传标语
2014/10/06 职场文书
万能检讨书2000字
2014/10/17 职场文书
2014年团委工作总结
2014/11/13 职场文书