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 相关文章推荐
jquery last-child 列表最后一项的样式
Jan 22 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 Javascript
js指定步长实现单方向匀速运动
Jul 17 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
Node中使用ES6语法的基础教程
Jan 05 Javascript
JavaScript中变量、指针和引用功能与操作示例
Aug 04 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
Mar 27 Javascript
JavaScript实现随机点名器
Mar 25 Javascript
React + Threejs + Swiper 实现全景图效果的完整代码
Jun 28 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 XML error parsing SOAP payload on line 1
2010/06/17 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
php验证码实现代码(3种)
2015/09/07 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
利用Python爬取可用的代理IP
2016/08/18 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Python类super()及私有属性原理解析
2020/06/15 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
用python批量移动文件
2021/01/14 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
公司出纳岗位职责
2013/12/07 职场文书
元旦晚会主持词
2014/03/24 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2014年售票员工作总结
2014/11/19 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书