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 相关文章推荐
FCK调用方法..
Dec 21 Javascript
jquery中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
Apr 08 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
JavaScript事件学习小结(一)事件流
Jun 09 Javascript
node.js中 stream使用教程
Aug 28 Javascript
JavaScript实现大图轮播效果
Jan 11 Javascript
Vue-Router实现页面正在加载特效方法示例
Feb 12 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
Feb 09 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
May 21 Javascript
ES6对象操作实例详解
May 23 Javascript
基于JQuery和DWR实现异步数据传递
Oct 16 jQuery
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静态调用非静态方法的应用分析
2013/05/02 PHP
php遍历目录方法小结
2015/03/10 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
javascript调试说明
2010/06/07 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
vue router demo详解
2017/10/13 Javascript
JS中的多态实例详解
2017/10/15 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
pandas中去除指定字符的实例
2018/05/18 Python
python实现中文文本分句的例子
2019/07/15 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
班委竞选演讲稿
2014/04/28 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
大学辅导员述职报告
2015/01/10 职场文书
大学生党员个人总结
2015/02/13 职场文书
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android