|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-05-10
对一个框架下结论:Prototype是彻头彻尾的垃圾 完毕
最cool的一句: RegExp.prototype.match=RegExp.prototype.test; 难以想象这代码居然会出现在一个叫框架的东西中 |
|
| 返回顶楼 | |
|
时间:2008-05-11
RegExp.prototype.match=RegExp.prototype.test; 不是吧?有否上下文? |
|
| 返回顶楼 | |
|
时间:2008-05-12
sp42 写道 RegExp.prototype.match=RegExp.prototype.test; 不是吧?有否上下文? 没有 全局的 上下文跟这个没关系 你可以到prototype1.6源码里找找看看 人家就是喜欢用 /XXXXX/g.match |
|
| 返回顶楼 | |
|
时间:2008-05-12
而且你知道什么叫挨骂没够不
pt1.6还在玩这个: Object.extend(Array.prototype, { |
|
| 返回顶楼 | |
|
时间:2008-05-13
没看1.6的代码,如果真是/XXXXX/g.match,Object.extend(Array.prototype, {,我觉得这个prototype太坏了。太混淆视听了。就像合成人造兽一样怪异。
|
|
| 返回顶楼 | |
|
时间:2008-05-13
好像一不小心嘴里也能排便的感觉……
regexp.search(string)好像可以,regexp.replace...不好办了…… 奇也。 |
|
| 返回顶楼 | |
|
时间:2008-05-13
s79 写道 好像一不小心嘴里也能排便的感觉……
regexp.search(string)好像可以,regexp.replace...不好办了…… 奇也。 你这话说的有点太缺德 不过就凭这种做法 可以看到PT作者从来没有尊重过语言的设计者 也没尊重过自己的用户 只是在凭自己的喜好想当然地编写这框架 这只是一个很显然的例子 其实即使PT受到好评的特性也差不多 举两个例子: $ $A 难道是为了让程序员少写几个字母而写了这么个东西? 是不是怕使用的人写document.getElementById或者Array.prototype.slice会累死啊? Class Class.Methods 这个更有意思了 明明js本身就能创建类 非要用Class.create js明明类本身就是构造函数 非要在里面调用prototype.initialize当构造函数 真是绝了 把这些全弄进去算了:function add(a,b){return a+b}; function plus(a,b){return a*b}; |
|
| 返回顶楼 | |
|
时间:2008-05-13
扯远了
回到楼主说的 YUI相比MooTools那种模仿PT的框架要强的多 楼主评价为严谨是恰当的 很重要的一点是 这个框架是给真正的程序员使用的 它在力求减少命名污染和保持框架跟语言的一致 而不是玩弄一些魔术欺骗初学者 |
|
| 返回顶楼 | |
|
时间:前天
听上面说了这么多,到底研究哪一个好呢?
|
|
| 返回顶楼 | |
|
时间:前天
因为DOM对象不能以兼容的方式在不同浏览器中扩展其prototype(像String.prototype.newMethod这样),所以一般用一下两种方法增加处理DOM对象的方法。
1、在获取、创造DOM对象的函数的返回值加上一层包装(包装DOM对象或对象们为oDOM),然后调用这个oDOM的方法修改DOM的内容,如oDOM.addClass("newClass")。 2、获取、创造DOM对象的函数返回的是简单的DOM对象或对象集合。同事抽象所有处理DOM的方法到一个oDOM对象里,调用这个“方法集”的方法来修改DOM的内容,如oDOM.addClass(DOM,"newClass")。 两种方法看你习惯怎么写了,效率也好,可读性也好都差不多。都能实现对于DOM对象扩展方法的统一管理。 而/XXXXX/g.match就搞不清是为什么了。match是String的方法,参数是RegExp,把他们调个头虽然能用,但其实是没有任何必要的,不应该存在框架这样本该精简的东西里。 从框架角度分级的话: 0级(base,扩展原有对象的方法,要精简,包括Ajax部分) 1级(effect,增加常用效果转换函数,如tween、drag、maskLayer、fade等) 2级(component,对话框、列表、树、日历等) 3级(application,用户定义能实现一定功能的模块) 一些框架只做0级prototype1.4/mootools1.2,和1级jquery1.2,一些做到了3级,如EXT 1.0 2.0。 |
|
| 返回顶楼 | |





