关于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 相关文章推荐
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
Sep 25 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 Javascript
前端构建工具之gulp的配置与搭建详解
Jun 12 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
Jun 29 Javascript
前端Electron新手入门教程详解
Jun 21 Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
微信小程序实现下滑到底部自动翻页功能
Mar 07 Javascript
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
原生js实现五子棋游戏
May 28 Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 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
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
Javascript之文件操作
2007/03/07 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
在Django中实现添加user到group并查看
2019/11/18 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
python3处理word文档实例分析
2020/12/01 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
激励员工的口号
2014/06/16 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
朋友聚会开场白
2015/06/01 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
社区服务活动感想
2015/08/11 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
创业计划书之美容店
2019/09/16 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
Python中的 enumerate和zip详情
2022/05/30 Python