关于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 相关文章推荐
Prototype 学习 工具函数学习($w,$F方法)
Jul 12 Javascript
jquery select下拉框操作的一些说明
Apr 02 Javascript
JS获取各种浏览器窗口大小的方法
Jan 14 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
Apr 10 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
解决layer弹层遮罩挡住窗体的问题
Aug 17 Javascript
JavaScript继承的特性与实践应用深入详解
Dec 30 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
Sep 20 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
微信小程序 this.triggerEvent()的具体使用
Dec 10 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
python 读写中文json的实例详解
2017/10/29 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
Django实现文件上传和下载功能
2019/10/06 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python文件操作基础流程解析
2020/03/19 Python
德国网上超市:myTime.de
2019/08/26 全球购物
应届毕业生自我鉴定范文
2013/12/27 职场文书
求职信写作要突出重点
2014/01/01 职场文书
大学校园生活自我鉴定
2014/01/13 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
模具专业自荐信
2014/05/29 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
创先争优演讲稿
2014/09/15 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
sql中mod()函数取余数的用法
2021/05/29 SQL Server