兼容浏览器将NodeList对象转换为数组
1 function converToArray(nodes) { 2 var array = null; 3 try { 4 array = Array.prototype.slice.call(nodes, 0); //针对非IE浏览器 5 } catch (ex) { 6 array = new Array(); 7 for (var i = 0, len = nodes.length; i < len; i++) { 8 array.push(nodes[i]); 9 } 10 } 11 12 return array; 13 }
这个convertToArray()函数首先尝试了创建数组的最简单方式。如果导致了错误(说明是在IE8及更早的版本中),则通过try-catch块来捕获错误,然后手动创建数组。