摘要: 简述 $方法是 Prototype 的基础,和jquery中的$作用差不多,不过功能却弱了很多。因为Prototype中还有一个$$方法,看名字就知道,和$相比,$$加了一倍的钱,功能肯定就丰富撒。本文主要是剖析$方法,1.7版本的$$方法使用的是Sizzle引擎,比较复杂,是后面的事情。基本原理 $方法其实比较简单,平时在个人的代码中见得也比较多。基本原理就是如果传入的是一个字符串,就执行document.getElementById方法,如果是一个DOM元素,就直接返回传入的元素,代码实现:function _$(element){ if(typeof element == ... 阅读全文
posted @ 2012-02-03 15:06 西山 阅读(1992) 评论(0) 推荐(0) 编辑
摘要: Date比较好理解,理解清楚了Number对象的toPaddedString方法就可以了。只有两个方法(toJSON和toISOString),而且这两个方法还一样,就是将日期转换为 JSON 字符串(遵循 ISO 格式)。代码很短,我直接贴上来: (function(proto) { function toISOString() { return this.getUTCFullYear() + '-' + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + this.getUT... 阅读全文
posted @ 2012-02-03 15:04 西山 阅读(2277) 评论(0) 推荐(0) 编辑
摘要: 今天看Sizzle代码的时候,里面有这么一段:// Here we check if the JavaScript engine is using some sort of// optimization where it does not always call our comparision// function. If that is the case, discard the hasDuplicate value.// Thus far that includes Google Chrome.[0, 0].sort(function() { baseHasDuplicate =... 阅读全文
posted @ 2012-02-03 13:24 西山 阅读(1139) 评论(2) 推荐(0) 编辑