Prototype 学习 工具函数学习($A方法)


Posted in Javascript onJuly 12, 2009

$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 相关文章推荐
仿新浪微博返回顶部的jquery实现代码
Oct 01 Javascript
JavaScript设计模式之装饰者模式介绍
Dec 28 Javascript
javascript图片滑动效果实现
Jan 28 Javascript
jQuery实现点击水纹波动动画
Apr 10 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
JavaScript生成带有缩进的表格代码
Jun 15 Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 Javascript
第一次接触神奇的前端框架vue.js
Dec 01 Javascript
详解JavaScript中的数组合并方法和对象合并方法
May 11 Javascript
JavaScript JSON数据处理全集(小结)
Aug 15 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
vant 自定义 van-dropdown-item的用法
Aug 05 Javascript
Prototype 学习 工具函数学习($方法)
Jul 12 #Javascript
Prototype 学习 Prototype对象
Jul 12 #Javascript
javascript 动态加载 css 方法总结
Jul 11 #Javascript
checkbox 复选框不能为空
Jul 11 #Javascript
javascript 页面只自动刷新一次
Jul 10 #Javascript
javascript div 遮罩层封锁整个页面
Jul 10 #Javascript
JQuery 实现的页面滚动时浮动窗口控件
Jul 10 #Javascript
You might like
Php做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
php 执行系统命令的方法
2009/07/07 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
详细分析单线程JS执行问题
2017/11/22 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
用Python实现读写锁的示例代码
2018/11/05 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
模具数控专业自荐信
2014/01/27 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python