关于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的Cookies
Jan 16 Javascript
js加解密 脚本解密
Feb 22 Javascript
JavaScript 继承详解 第一篇
Aug 30 Javascript
jQuery前台数据获取实现代码
Mar 16 Javascript
jQuery代码优化 遍历篇
Nov 01 Javascript
jQuery实现文件上传进度条特效
Aug 12 Javascript
Bootstrap每天必学之js插件
Nov 30 Javascript
JavaScript鼠标特效大全
Sep 13 Javascript
深入Vue-Router路由嵌套理解
Aug 13 Javascript
vue项目中极验验证的使用代码示例
Dec 03 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 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 反射机制实现动态代理的代码
2008/10/22 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
Python itertools模块详解
2015/05/09 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
使用tensorflow实现AlexNet
2017/11/20 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
python实现猜单词游戏
2020/05/22 Python
Django REST 异常处理详解
2020/07/15 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
python数据抓取3种方法总结
2021/02/07 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
计算机专业求职信
2014/06/02 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
工伤事故证明
2014/10/20 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
宿舍管理制度范本
2015/08/07 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
Pandas 数据编码的十种方法
2022/04/20 Python