关于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无法执行的解决办法
Feb 25 Javascript
jQuery图片滚动图片的效果(另类实现)
Jun 02 Javascript
jQuery获取和设置表单元素的方法
Feb 14 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
Mar 28 Javascript
JS组件Bootstrap实现下拉菜单效果代码
Apr 26 Javascript
jquery 获取select数组与name数组长度的实现代码
Jun 20 Javascript
JavaScript基础之AJAX简单的小demo
Jan 29 Javascript
使用JavaScriptCore实现OC和JS交互详解
Mar 28 Javascript
js仿微信公众平台打标签功能
Apr 08 Javascript
微信小程序登录态控制深入分析
Apr 12 Javascript
使用gulp构建前端自动化的方法示例
Dec 25 Javascript
关于AngularJS中几种Providers的区别总结
May 17 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 GBK→UTF-8编码转换
2007/05/24 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
5 cool javascript apps
2007/03/24 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
nodejs教程之入门
2014/11/21 NodeJs
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
js实现抽奖效果
2017/03/27 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
深入理解vue Render函数
2017/07/19 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python实现获取序列中最小的几个元素
2014/09/25 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
django框架ModelForm组件用法详解
2019/12/11 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
Python文件操作基础流程解析
2020/03/19 Python
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏