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 相关文章推荐
很全的显示阴历(农历)日期的js代码
Jan 01 Javascript
js文件包含的几种方式介绍
Sep 28 Javascript
BootStrap 超链接变按钮的实现方法
Sep 25 Javascript
详解获取jq ul第一个li定位的四种解决方案
Nov 23 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
Javascript实现页面滚动时导航智能定位
May 06 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 Javascript
vue v-for 使用问题整理小结
Aug 04 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
JS指定音频audio在某个时间点进行播放
Nov 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数据库开发知多少
2006/10/09 PHP
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
一个简单的PHP投票程序源码
2007/03/11 PHP
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
纯js简单日历实现代码
2013/10/05 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
详解ECMAScript typeof用法
2018/07/25 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
Python函数学习笔记
2008/10/07 Python
python的常见命令注入威胁
2013/02/18 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
django删除表重建的实现方法
2019/08/28 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
《我不是最弱小的》教学反思
2014/02/23 职场文书
生活部的活动方案
2014/08/19 职场文书
项目建议书
2015/02/04 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书