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 相关文章推荐
IE中直接运行显示当前网页中的图片 推荐
Aug 31 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
May 07 Javascript
JS+CSS实现的拖动分页效果实例
May 11 Javascript
javascript实现平滑无缝滚动
Aug 09 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
Vue实现自带的过滤器实例
Mar 09 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
Dec 16 Javascript
swiper 自动图片无限轮播实现代码
May 21 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
微信小程序上传文件到阿里OSS教程
May 20 Javascript
多种类型jQuery网页验证码插件代码实例
Jan 09 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 表单验证实现代码
2009/03/10 PHP
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
python mysqldb连接数据库
2009/03/16 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
毕业自荐书
2013/12/09 职场文书
关于旷工的检讨书
2014/02/02 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
师德师风自查材料
2014/10/14 职场文书
小学生暑假安全公约
2015/07/14 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
如何在Python中创建二叉树
2021/03/30 Python