色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Prototype 學(xué)習(xí) 工具函數(shù)學(xué)習(xí)($A方法)

$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.
復(fù)制代碼 代碼如下:
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;
}

如果傳進(jìn)來的參數(shù)為null, undefined and false 則直接返回空數(shù)組
如果傳進(jìn)來的參數(shù)對(duì)象里有toArray方法,這直接調(diào)用參數(shù)的toArray方法,因?yàn)橛性S多Prototype對(duì)象里面已經(jīng)定義好了toArray方法,所以可以直接調(diào)用toArray方法
例如:
復(fù)制代碼 代碼如下:
var array={
toArray : function(){
return [1,2,3];
}
}
//1,2,3
alert($A(array));

接下來根據(jù)參數(shù)的length建立新數(shù)組,然后逐個(gè)把參數(shù)中的元素復(fù)制到新數(shù)組中去,最后返回新數(shù)組對(duì)象
下面給出prototype幫助文檔的一段說明和例子也許更能說明這個(gè)函數(shù)的作用:
復(fù)制代碼 代碼如下:
/*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();

還有一點(diǎn):
Array.from = $A;
數(shù)組對(duì)象的from靜態(tài)方法和$A是一個(gè)方法

JavaScript技術(shù)Prototype 學(xué)習(xí) 工具函數(shù)學(xué)習(xí)($A方法),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 兴安县| 镶黄旗| 龙井市| 和硕县| 会宁县| 柘荣县| 澄迈县| 乌审旗| 山西省| 雅江县| 独山县| 广安市| 图木舒克市| 玛纳斯县| 星座| 南宫市| 英吉沙县| 安宁市| 蒙阴县| 芮城县| 都江堰市| 枣庄市| 鹰潭市| 永登县| 灌云县| 永州市| 刚察县| 福清市| 阳新县| 棋牌| 扎赉特旗| 青岛市| 凯里市| 凤冈县| 靖边县| 宜宾县| 栾川县| 海门市| 台安县| 桦南县| 杂多县|