浏览 8574 次
锁定老帖子 主题:精度jQuery(部分)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-12
这部分先放出来吧!升级去了。 随便注释的些东西,希望可以表达我的意思。 FP中,无副作用的函数是多么诱人。 java中,对象状态是那么的自然。 而javascript呢? 当然有自己的最佳代码方式! 希望大家可以和我一样,从jQuery中得到新的东西。 // 防止多次引入jQuery变量或... // 搞不懂??? window.undefined = window.undefined; //这是个技巧,无论你把jQuery当成方法,还是当成类. 返回的都是类对象. //但是仔细考虑, jQuery.bind({init:function(a,c){}}) ,那调用的时候this不是window, //this有init方法.但这几乎不会发生,估计没有人这么变态吧 // //另外注意. return this.init(a,c),注意return,我感觉这很有学问,破除了javascript模仿java的惯例. //很好的应用了javascript函数的特点. //而"对象"的状态由 return this.init(a,c)提供.最大限度的重用了jQuery.prototype里提供的函数. //如果这样的话,我们扩展的init方法,那么也是扩展jQuery的一种方式. // var jQuery = function(a,c) { // 如果调用这个方法的"对象"是window. //不是window,但this里有init方法.执行new操作 if ( window == this || !this.init ) return new jQuery(a,c); //仔细体会return啊.很有意思的 return this.init(a,c); }; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-09-12
window.undefined = window.undefined;
一个常用技巧 为了兼容老浏览器 有了这条语句 你再判断变量是否是undefined时就不用 type of XXX=='undefined' 了 而是直接诶xxx == undefined 就可以了 |
|
返回顶楼 | |
发表时间:2007-09-13
fins 写道 window.undefined = window.undefined;
一个常用技巧 为了兼容老浏览器 有了这条语句 你再判断变量是否是undefined时就不用 type of XXX=='undefined' 了 而是直接诶xxx == undefined 就可以了 受教了! |
|
返回顶楼 | |
发表时间:2007-09-13
melin 写道 fins 写道 window.undefined = window.undefined;
一个常用技巧 为了兼容老浏览器 有了这条语句 你再判断变量是否是undefined时就不用 type of XXX=='undefined' 了 而是直接诶xxx == undefined 就可以了 受教了! 其实我教错了 应该说 而是直接用 xxx === undefined 就可以了 三个等号更好些 哈哈 |
|
返回顶楼 | |
发表时间:2007-09-13
是必须用 === 而不是 == 的。
关于undefined,我喜欢写成: window.undefined = void 0; 一个是更短,另一个是不会出现strict warning。 |
|
返回顶楼 | |
发表时间:2007-09-13
呵呵 恩 周爱民的那个框架的说明文档里就有你这个例子 呵呵
不过 我还是习惯加() 不知道为什么 typeof() void() 这些我都喜欢加() 要不看着不舒服 哈哈. |
|
返回顶楼 | |
发表时间:2007-09-13
fins 写道 不过 我还是习惯加() 不知道为什么 typeof() void() 这些我都喜欢加() 要不看着不舒服 哈哈. void(0) 比 void 0 多一个字符,没问题,我们找jindw同志帮我们压缩掉它! |
|
返回顶楼 | |
发表时间:2007-09-13
说起jindw还真是佩服他 关于压缩和混淆我是一点概念也没有
打死我也做不出来. 真希望有机会哪位能好好讲讲相关的原理 呵呵 |
|
返回顶楼 | |
发表时间:2007-09-13
^_^,这个压缩点还没想到。
关于 === ,可以类比java的 == 操作符(引用地址相等或原始值相等)。 而 == 更像java的equals方法。 |
|
返回顶楼 | |
发表时间:2007-09-14
jindw 写道 ^_^,这个压缩点还没想到。
关于 === ,可以类比java的 == 操作符(引用地址相等或原始值相等)。 而 == 更像java的equals方法。 === 做比较是不做转换的 2==='2' == 在需要的时候会做转换的 2=='2' |
|
返回顶楼 | |