怎样判定一个Object是一个Array
|
在开拓中,我们常常必要判定某个工具是否为数组范例,在Js中检测工具范例的常见要领都有哪些呢? 1.typeof 操纵符.对付Function, String, Number ,Undefined 等几种范例的工具来说,他完全可以胜任,可是为Array时 Copy to Clipboard 引用的内容:[www.veryhuo.com]
var arr=new Array("1","2","3","4","5"); alert(typeof(arr)); 你会收到一个object 的谜底,有点让人扫兴 . 引用的内容:[www.veryhuo.com]
var arrayStr=new Array("1","2","3","4","5"); alert(arrayStr instanceof Array); 小总结:看样子我们本日接头的题目已经获得相识答,但究竟上在多个frame中穿梭就会发生大题目了. 引用的内容:[www.veryhuo.com]
var iframe = document.createElement('iframe'); document.body.appendChild(iframe); xArray = window.frames[window.frames.length-1].Array; var arr = new xArray("1","2","3","4","5");//这个写法IE年迈下是不支持的,FF下才有 alert(arr instanceof Array); // false alert(arr.constructor === Array); // false 返回功效为两个False,让人大失所望。 引用的内容:[www.veryhuo.com]
function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; } call改变toString的this引用为待检测的工具,返回此工具的字符串暗示,然后比拟此字符串是否是'[object Array]',以判定其是否是Array的实例。大概你要问了,为什么不直接o.toString()?嗯,固然Array担任自Object,也会有toString要领,可是这个要领有也许会被改写而达不到我们的要求,而Object.prototype则是老虎的屁股,很少有人敢去碰它的,以是能必然水平担保其“纯洁性”:) 引用的内容:[www.veryhuo.com]
isArray : function(v){ return toString.apply(v) === '[object Array]'; } (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

引用的内容:[www.veryhuo.com]
var arr=new Array("1","2","3","4","5"); 
