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 相关文章推荐
Javascript 布尔型分析
Dec 22 Javascript
js 小贴士一星期合集
Apr 07 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
May 05 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
JS表的模拟方法
Feb 05 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
javascript实现C语言经典程序题
Nov 29 Javascript
angularjs中ng-attr的用法详解
Dec 31 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 Javascript
JS和Canvas实现图片的预览压缩和上传功能
Mar 30 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
微信小程序实现倒计时功能
Nov 19 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二分法在IP地址查询中的应用
2008/08/12 PHP
php 友好URL的实现(吐血推荐)
2008/10/04 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
PHP计数器的实现代码
2013/06/08 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
微信小程序实现简单购物车功能
2020/12/30 Javascript
python获得图片base64编码示例
2014/01/16 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
银行实习自我鉴定
2013/10/12 职场文书
实用求职信范文分享
2013/12/25 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
教师求职自荐信
2014/03/09 职场文书
护士感人事迹
2014/05/01 职场文书
煤矿安全生产标语
2014/06/06 职场文书
教育见习报告范文
2014/11/03 职场文书
2014年教研室工作总结
2014/12/06 职场文书
英文升职感谢信
2015/01/23 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Redis集群的关闭与重启操作
2021/07/07 Redis
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL