关于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几个不错的函数 $$()
Oct 09 Javascript
参考:关于Javascript中实现暂停的几篇文章
Mar 04 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 Javascript
js switch case default 的用法示例介绍
Oct 23 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
vue给组件传递不同的值方法
Sep 29 Javascript
vue开发移动端底部导航条功能
Apr 08 Javascript
Vue+element+cookie记住密码功能的简单实现方法
Sep 20 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
教你php如何实现验证码
2016/01/20 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
python安装pil库方法及代码
2019/06/25 Python
Python3常用内置方法代码实例
2019/11/18 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
文秘专业自荐信
2013/10/14 职场文书
实习单位推荐信范文
2013/11/27 职场文书
二十年同学聚会感言
2015/07/30 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
python模板入门教程之flask Jinja
2022/04/11 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
方法汇总:Python 安装第三方库常用
2022/04/26 Python