javascript判断一个元素是否数组
来源:stauren.net 发布时间:2009-07-31 12:48:00
标签:JavaScript,数组,判断
javascript中要判断一个变量是否为array通常是比较困难的,因为
var a = [];
alert(typeof a === 'object'); // true
通常的做法是判断
a.constructor === Array // true
可是这个方法有一个问题,如果一个数组是来自另一个frame中的,那么它的constructor 将是另一个对象。
YUI中用了如下的方法:
isArray: function(o) {
if (o) {
return L.isNumber(o.length) && L.isFunction(o.splice);
}
return false;
},
简单来说,就是判断这个变量有没有 length 属性,同时有没有 splice 方法。可惜,这样的判断方法是可以用一个 object 来伪造数组的。
Google 的 Mark Miller 发现,用下面方法,可以简单又可靠的得到一个变量是否一个数组:
Object.prototype.toString.apply(value) === '[object Array]'
simple & easy, 我已经在 d-u 中加入这个方法了,相信其他 library 也会渐渐采用这个方法的。
from The Miller Device
使用 d-u javascript library, 敬请访问 http://code.google.com/p/double-underscore/source/browse/#svn/trunk/src


猜你喜欢
- Golang中的errorGolang中的 error 就是一个简单的接口类型。只要实现了这个接口,就可以将其视为一种 errortype
- 本文实例讲述了Flask框架学习笔记之模板操作。分享给大家供大家参考,具体如下:flask的模板引擎是Jinja2。引入模板的好处是增加程序
- 1.最基本的作为一个本本分分的函数声明使用。 function func(){} 或 var func=function(){}; 2.作为
- 具体解决方案如下: 一、IE和FF下document.body对象的clientHeight,offsetHeight,scrollHeig
- 查找二分查找二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结
- 第一章:基本的圆角框第二章:透明圆角化背景图片第三章:圆角化图片 第四章:CSS圆角框组件 V1.0在上面的案例中,我只给出最为原始的圆角框
- 我其实是同一天看到Robert Treat几人整理的”Mysql 迁移到Oracle前需要了解的50件事“与Baron Schwartz的”
- 在进行浮动布局时,大多数人都深知,在必要的地方进行浮动清理:<div style="clear:both;">
- 1.简介Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库。我们可以通过使用Entity Fra
- Server对象提供对服务器上访问的方法和属性.大多数方法和属性是作为实用程序的功能提供的。语法:Server.property|metho
- 前言任务描述:当前有一份excel表格数据,里面存在缺失值,需要对缺失的数据到es数据库中进行查找并对其进行把缺失的数据进行补全。excel
- <style type="text/css"> <!-- body,td,th {
- 什么是CPU/PSUOracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁
- django settings.py 配置文件import osBASE_DIR = os.path.dirname(os.path.dir
- selenium关闭窗口有两个方法,close与quit,我们稍作研究便知道这两个方法的区别。1.看源码或API这是close()的说明:C
- 本文实例讲述了Python实现的简单模板引擎功能。分享给大家供大家参考,具体如下:#coding:utf- 8__author__=&quo
- 本文实例讲述了Go语言图片处理和生成缩略图的方法。分享给大家供大家参考。具体实现方法如下:package mainimport ( 
- 引言:本文是学习Turtle库时,发现两种方法都能改变画笔的方向,但二者又不是完全相同,故对其加以辨析总结到此,在本文你将收获:1.两种改变
- 本文实例讲述了php+html5基于websocket实现聊天室的方法。分享给大家供大家参考。具体如下:html5的websocket 实现
- 一、常见的匹配规则二、常见的匹配方法1、match()match()方法从字符串的起始位置开始匹配,该方法有两个参数,第一个是正则表达式,第