javascript instanceof 与typeof使用说明


Posted in Javascript onJanuary 11, 2010

typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如

if(typeof a != "undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。

如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于判断一个变量是否某个对象的实例,如var a=new Array();alert(a instanceof Array);会返回true,同时alert(a instanceof Object)也会返回true;这是因为Array是object的子类。再如:function test(){};var a=new test();alert(a instanceof test)会返回true。

谈到instanceof我们要多插入一个问题,就是function的arguments,我们大家也许都认为arguments是一个Array,但如果使用instaceof去测试会发现arguments不是一个Array对象,尽管看起来很像。

JavaScript中instanceof运算符是返回一个 Boolean 值,指出对象是否是特定类的一个实例。
使用方法:
result = object instanceof class
其中result是必选项。任意变量。
object是必选项。任意对象表达式。
class是必选项。任意已定义的对象类。

说明
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

JavaScript中instanceof运算符
下面的例子举例说明了 instanceof 运算符的用法。

function objTest(obj){ 
var i, t, s = ""; // 创建变量。 
t = new Array(); // 创建一个数组。 
t["Date"] = Date; // 填充数组。 
t["Object"] = Object; 
t["Array"] = Array; 
for (i in t) 
{ 
if (obj instanceof t[i]) // 检查 obj 的类。 
{ 
s += "obj is an instance of " + i + "\n"; 
} 
else 
{ 
s += "obj is not an instance of " + i + "\n"; 
} 
} 
return(s); // 返回字符串。 
} var obj = new Date(); 
response.write(objTest(obj));
Javascript 相关文章推荐
javascript英文日期(有时间)选择器
May 02 Javascript
jquery parent和parents的区别分析
Oct 02 Javascript
js charAt的使用示例
Feb 18 Javascript
jquery实现通用版鼠标经过淡入淡出效果
Jun 15 Javascript
js中将String转换为number以便比较
Jul 08 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
Oct 28 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
vue快捷键与基础指令详解
Jun 01 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
vue父组件触发事件改变子组件的值的方法实例详解
May 07 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
Nov 09 Javascript
Element PageHeader页头的使用方法
Jul 26 Javascript
javascript call方法使用说明
Jan 11 #Javascript
jQuery UI-Draggable 参数集合
Jan 10 #Javascript
将CKfinder整合进CKEditor3.0的新方法
Jan 10 #Javascript
js或css文件后面跟参数的原因说明
Jan 09 #Javascript
Javascript的构造函数和constructor属性
Jan 09 #Javascript
jQuery 页面 Mask实现代码
Jan 09 #Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 #Javascript
You might like
用PHP实现多服务器共享SESSION数据的方法
2007/03/16 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
vue组件学习教程
2017/09/09 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
Django数据库操作的实例(增删改查)
2017/09/04 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
详解python破解zip文件密码的方法
2020/01/13 Python
查看keras的默认backend实现方式
2020/06/19 Python
什么是python的自省
2020/06/21 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
大韩航空官方网站:Korean Air
2017/10/25 全球购物
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
会计专业个人自我鉴定
2014/03/21 职场文书
校园运动会广播稿
2014/10/06 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
婚前协议书范本
2014/10/27 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
会计入职心得体会
2016/01/22 职场文书
详解NodeJS模块化
2021/06/15 NodeJs