有人明白 $A() 么?

igyhi 2009-06-23 05:22:16
function $A(iterable) {
if (!iterable) return [];
if (iterable.toArray) return iterable.toArray();
var length = iterable.length || 0, results = new Array(length);
while (length--) results[length] = iterable[length];
return results;
}

希望能详细点. 比如 "var length = iterable.length || 0" 就不很明白
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
igyhi 2009-06-23
  • 打赏
  • 举报
回复
上边的是prototype的源码,
$A()的作用是重构一个数组
比如:
var paras = $A(document.getElementsByTagName('p')); paras.each(Element.hide); $(paras.last()).show();

不清楚为什么要重构
document.getElementsByTagName('p')的返回值.

hookee 2009-06-23
  • 打赏
  • 举报
回复
function $A(iterable) { 定义函数$A
if (!iterable) return []; 如果参数为空则发挥一个空的数组,[]相当于new Array();
if (iterable.toArray) return iterable.toArray(); 如果所传的对象有toArray方法,则调用该方法
var length = iterable.length || 0, 如果所传对象有length属性,则length等于该属性,否则为0,此处理利用了||或操作符左侧条件不满足则看右侧的运算方式.
results = new Array(length); 创建长度为length的数组
while (length--) results[length] = iterable[length]; 将rsults数组元素复制到 iterable, length为0时停止
return results; //此处似乎应该返回iterable
}
eugenepada 2009-06-23
  • 打赏
  • 举报
回复

function $A(iterable) {
if (!iterable) return []; //如果undefined或null,则返回一个空数组
if (iterable.toArray) return iterable.toArray() //JavaScript中toArray函数方法是返回一个由 VBArray 转换而来的标准 JScript 数组
var length = iterable.length || 0, //如果iterable.length为空或undefined,则length = 0 否则 length = iterable.length
results = new Array(length);
while (length--) results[length] = iterable[length]; //
return results;
}
igyhi 2009-06-23
  • 打赏
  • 举报
回复
我想简单点.

就是有谁能能帮忙把每行注释一下就可以
zyhowe 2009-06-23
  • 打赏
  • 举报
回复
搜素jquery

87,903

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧