关于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 相关文章推荐
WordPress 插件——CoolCode使用方法与下载
Jul 02 Javascript
jquery 最简单的属性菜单
Oct 08 Javascript
jQuery异步获取json数据方法汇总
Dec 22 Javascript
js实现文字滚动效果
Mar 03 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 Javascript
javascript单张多张图无缝滚动实例代码
May 10 Javascript
openlayers实现地图弹窗
Sep 25 Javascript
vue 实现element-ui中的加载中状态
Nov 11 Javascript
用JS写一个发布订阅模式
Nov 07 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实现链式操作的原理详解
2016/09/16 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
node后端服务保活的实现
2019/11/10 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python之list对应元素求和的方法
2018/06/28 Python
TensorFlow Session会话控制&Variable变量详解
2018/07/30 Python
基于python使用tibco ems代码实例
2019/12/20 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
欢迎新生标语
2014/10/06 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
资料员岗位职责范本
2015/04/13 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS