hash就是把两个参数合并成一个类似hashMap结构的对象,用第一个数组的元素为key,第二个的为value,如果第二个参数未指定,则把对象的对应的值置为true

YUI原码

YUI hashYArray.hash = function (keys, values) {
var hash = {},
vlen = (values && values.length) || 0,
i, len; for (i = 0, len = keys.length; i < len; ++i) {
if (i in keys) {
hash[keys[i]] = vlen > i && i in values ? values[i] : true;
}
} return hash;
};

tangram原码

tangram hashvar T,baidu=T= function(){
///import baidu.array; baidu.array.extend({
hash : function (values) {
var result = {},
vl = values && values.length,
i, n; for (i=0, n=this.length; i < n; i++) {
result[this[i]] = (vl && vl > i) ? values[i] : true;
}
return result;
}
});
return baidu;
}();

比较:

a.  YUI比tangram多了一个判断 i in values

b.  因为a的存在,所以YUI第二个参数必须是数组,而tangram第二个参数可以是一个字符串

c.  tangram可以链式调用hash,但YUI不能继续调用后续方法

最新文章

  1. jsp和servlet中文乱码
  2. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
  3. 我的android学习经历12
  4. Java之美[从菜鸟到高手演练]之JDK动态代理的实现及原理
  5. winscp 软件。
  6. hdu 2058
  7. 转载 a href=#与 a href=javascript:void(0) 的区别
  8. POJ2217 Secretary 后缀数组&amp;&amp;高度数组
  9. android初学-togglebutton
  10. Java 学习 第二篇;面向对象 定义类的简单语法:
  11. C#中的反射原理及应用(转)
  12. 转:CI引入外部js与css
  13. .net使用cefsharp开源库开发chrome
  14. SpringMVC 学习-上传文件分解器 CommonsMultipartResolver 类
  15. Python基础(十一)-面向对象
  16. [周译见] C# 7 中的模范和实践
  17. c++的引用和c的指针之创建链表,二叉树的烦恼和区别
  18. 为什么V8引擎这么快?[转]
  19. Parse error: syntax error, unexpected end of file in * 的解决办法
  20. android环境安装及配置

热门文章

  1. Python学习(一) Python安装配置
  2. Android使用xml中定义的动画效果
  3. hdu 3339 In Action
  4. XJOI网上同步训练DAY1 T2
  5. 【转】win32,win64编程永恒;语言编程需要注意的64位和32机器的区别
  6. 【转】git 学习笔记( 随时更新中…… 最后更新日期201304281518)--不错
  7. CF 567C Geometric Progression
  8. 【HDU1325】Is It A Tree?(并查集基础题)
  9. Android应用开发学习之启动另外一个Activity
  10. hdu 5611 Baby Ming and phone number(模拟)