$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 字符 Escape,encodeURI,encodeURIComponent
escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格>>>详细阅读
本文标题:Prototype 学习 工具函数学习($A方法)
地址:http://www.17bianji.com/kaifa2/JS/28473.html
1/2 1