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 相关文章推荐
JS模块与命名空间的介绍
Mar 22 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
浅析JavaScript中的CSS属性及命名规范
Nov 28 Javascript
jquery下div 的resize事件示例代码
Mar 09 Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 Javascript
node.js基于mongodb的搜索分页示例
Jan 22 Javascript
详解VUE的状态控制与延时加载刷新
Mar 27 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
Vue框架里使用Swiper的方法示例
Sep 20 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
Oct 18 Javascript
express如何解决ajax跨域访问session失效问题详解
Jun 20 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防攻击代码升级版
2010/12/29 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
浅谈PHP的反射API
2017/02/26 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
ParseInt函数参数设置介绍
2014/01/02 Javascript
理解javascript闭包
2015/12/15 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
javascript事件模型介绍
2016/05/31 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
Node.js DES加密的简单实现
2016/07/07 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
公证委托书标准格式
2014/09/11 职场文书
社区灵活就业证明
2014/11/03 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
九不准学习心得体会
2016/01/23 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS