Array对象的判定
/*
关于JS对象类型的判断,最复杂的在于RegExp和Array了,判定RegExp的情形不较少,而Array就比较多了,下面就是判断Array的方法
*/ //方法一:利用instanceof来判断对象是不是Array的实例
function isArray(arr){
return arr instanceof Array;
} //方法二:利用constructor来判断
function isArray(arr)
{
return !!arr && arr.constructor==Array;
} //方法三:利用constructor和array的内置属性(实例方法)来判断一个对象是否是Array类型
function isArray(arr) {
return arr && typeof arr==="object" && 'splice' in arr && 'join' in arr;
} //方法四:通过sort方法的类型判断arr是不是Array对象的实例
function isArray(arr)
{
return typeof arr.sort==="function";
} //方法五:通过Array.prototype.toString.call()方法来判断对象
function isArray(o) {
try
{
Array.prototype.toString.call(o);
return true;
}
catch (e)
{}
return false;
} //方法六:通过typeof和数组的length属性来判断
function isArray(o) {
if(o && typeof o=="object" && typeof o.length=="number" && isFinite(o.length))
{
//通过length属性是否符合原生数组的length的特性来进行双重判定
var _originalLength=o.length;
o[o.length]="_test_";
var _newLength=o.length;
o.length=_originalLength;
return _newLength==o.length+1;
}
return false;
} //方法七:
function isArray(array) {
var result=false;
try
{
new array.constructor(Math.pow(2,32));
}
catch(e)
{
result=/Array/.test(e.message);
}
return result;
}
Array对象的判定的更多相关文章
- JavaScript Array对象
介绍Js的Array 数组对象. 目录 1. 介绍:介绍 Array 数组对象的说明.定义方式以及属性. 2. 实例方法:介绍 Array 对象的实例方法:concat.every.filter.fo ...
- JavaScript基础18——js的Array对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 原生JS:Array对象详解
Array对象 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ ...
- JavaScript Array 对象
JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...
- JavaScript Array对象 知识点总结
1 isArray方法 该方法是Array对象的静态方法,用来判断一个值是否为数组,它可以弥补typeof运算符的不足. 用法是Array.isArray(array实例) 通用的判断对象数据类型的方 ...
- JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...
- javascript中的array对象属性及方法
Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...
- JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...
随机推荐
- 20155316 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结 IO操作的目标 从数据源当中读取数据,以及将数据写入到数据目的地当中: I/O的来源地与目的地多种多样 I/O的流向:输入流.输出流.参照物 IO的分类方法 输入流\输出流: 字节流 ...
- PHP(三)运算符、流程控制和函数初步
- 看图说说class文件结构(部分)
- ZOJ3775 ?(>_o)! 2017-04-13 23:37 110人阅读 评论(0) 收藏
?(>_o)! Time Limit: 2 Seconds Memory Limit: 65536 KB ?(>_o)! is a pseudo-object-oriented ...
- Modelsim10.2c使用教程(一个完整工程的仿真)
之前玩过Altera的板子,不不, 现在应该叫intel PSG.在QuartusII13.0上老喜欢用modelsim_ae做仿真,小工程用起来也方便,但是我做IIC配置摄像头的时序仿真时,就显得有 ...
- Oracle EBS 快捷键
打开菜单 Help > Keyboard Help... 功能 快捷键 =================================== 1 ...
- 点滴笔记(二):利用JS对象把值传到后台
记得以前刚写asp.net 从前台往后台传值 都是var data=A,B,C,D,E; 循环添加用逗号隔开 后台还要被测试测出只输入,就错了 哈哈..后来用✈◆类似的符号隔开 不是长久之计... 现 ...
- Android-SqliteSQL语句大全
SqliteSQL语句大全 创表语句: create table student_table(_id integer primary key autoincrement, name text, age ...
- md1
a b link to baidu 我不懂啊 这是什么意思 http://example.com/ 这里是一段代码' adsfasdf 你 你输得算好了 反正就这样吧,大概也值能这样了注 我想写一段引 ...
- Angularjs 通过directive实现验证两次输入是否一致的功能
实现效果: 1> 当输入确认密码时验证: 2> 当输入密码时验证: 实现步骤: 1.页面代码: <input class="form-control" type= ...