手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Prototype 学习 工具函数学习($A方法)
Prototype 学习 工具函数学习($A方法)
摘要:$A方法:Acceptsanarray-likecollection(anythingwithnumericindices)andretur...

$A方法:

Accepts an array-like collection (anything with numeric indices) and returns its equivalent as an actual Array object. This method is a convenience alias of Array.from, but is the preferred way of casting to an Array.

复制代码 代码如下:

function $A(iterable) {

if (!iterable) return [];

if ('toArray' in Object(iterable)) return iterable.toArray();

var length = iterable.length || 0, results = new Array(length);

while (length--) results[length] = iterable[length];

return results;

}

如果传进来的参数为null, undefined and false 则直接返回空数组

如果传进来的参数对象里有toArray方法,这直接调用参数的toArray方法,因为有许多Prototype对象里面已经定义好了toArray方法,所以可以直接调用toArray方法

例如:

复制代码 代码如下:

var array={

toArray : function(){

return [1,2,3];

}

}

//1,2,3

alert($A(array));

接下来根据参数的length建立新数组,然后逐个把参数中的元素复制到新数组中去,最后返回新数组对象

下面给出prototype帮助文档的一段说明和例子也许更能说明这个函数的作用:

复制代码 代码如下:

/*The well-known DOM method document.getElementsByTagName() doesn't return an Array, but a NodeList object that implements the basic array "interface." Internet Explorer does not allow us to extend Enumerable onto NodeList.prototype, so instead we cast the returned NodeList to an Array:*/

var paras = $A(document.getElementsByTagName('p'));

paras.each(Element.hide);

$(paras.last()).show();

还有一点:

Array.from = $A;

数组对象的from静态方法和$A是一个方法

【Prototype 学习 工具函数学习($A方法)】相关文章:

JavaScript判断图片是否已经加载完毕的方法汇总

jquery预加载图片的方法

JavaScript实现表格点击排序的方法

javascript自定义右键弹出菜单实现方法

javascript用函数实现对象的方法

JavaScript对表格或元素按文本,数字或日期排序的方法

JavaScript编程学习技巧汇总

JavaScript判断数组是否包含指定元素的方法

Javascript中prototype属性实现给内置对象添加新的方法

javascript先序遍历DOM树的方法

精品推荐
分类导航