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

Prototype 學習 工具函數學習($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.
復制代碼 代碼如下:
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是一個方法

JavaScript技術Prototype 學習 工具函數學習($A方法),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 洞口县| 衡东县| 神农架林区| 苗栗市| 礼泉县| 元江| 理塘县| 方正县| 施甸县| 汉源县| 蒙山县| 三都| 沙坪坝区| 满洲里市| 岳池县| 吴忠市| 崇左市| 定边县| 呼图壁县| 富顺县| 札达县| 安达市| 深水埗区| 读书| 青河县| 西贡区| 菏泽市| 桦甸市| 陇川县| 沁源县| 台山市| 西盟| 永新县| 綦江县| 得荣县| 大理市| 小金县| 东明县| 老河口市| 新化县| 兰州市|