源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

将函数的实际参数转换成数组的方法

  • 时间:2022-05-07 20:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:将函数的实际参数转换成数组的方法
值得庆幸的是,我们可以通过数组的 slice 方法将 arguments 对象转换成真正的数组: var args = Array.prototype.slice.call(arguments); 对于slice 方法,ECMAScript 262 中 15.4.4.10 Array.prototype.slice (start, end) 章节有备注:
[url=http://jsdesignpatterns.com/]《Pro JavaScript Design Patterns》[/url](《JavaScript 设计模式》)的作者 [url=http://www.dustindiaz.com/]Dustin Diaz[/url] 曾指出:
[url=http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-536297177]NodeList[/url] (比如:document.getElementsByTagName('div'))转换成数组呢?[/b] 解决方案简单如下:
[u]复制代码[/u] 代码如下:
function nodeListToArray(nodes){ var arr, length; try { // works in every browser except IE arr = [].slice.call(nodes); return arr; } catch(err){ // slower, but works in IE arr = []; length = nodes.length; for(var i = 0; i < length; i++){ arr.push(nodes[i]); } return arr; } }
为什么 IE 中 NodeList 不可以使用 [].slice.call(nodes) 方法转换呢? In Internet Explorer it throws an error that it can't run Array.prototype.slice.call(nodes) because a DOM NodeList is not a JavaScript object.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部