论坛首页 Web前端技术论坛

精度jQuery(部分)

浏览 8574 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-09-12  
jQuery1.2 release了。

这部分先放出来吧!升级去了。

随便注释的些东西,希望可以表达我的意思。

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);
};
   发表时间:2007-09-12  
window.undefined = window.undefined; 

一个常用技巧

为了兼容老浏览器
有了这条语句
你再判断变量是否是undefined时就不用 type of XXX=='undefined'
了 而是直接诶xxx == undefined 就可以了
0 请登录后投票
   发表时间:2007-09-13  
fins 写道
window.undefined = window.undefined; 

一个常用技巧

为了兼容老浏览器
有了这条语句
你再判断变量是否是undefined时就不用 type of XXX=='undefined'
了 而是直接诶xxx == undefined 就可以了


受教了!
0 请登录后投票
   发表时间:2007-09-13  
melin 写道
fins 写道
window.undefined = window.undefined; 

一个常用技巧

为了兼容老浏览器
有了这条语句
你再判断变量是否是undefined时就不用 type of XXX=='undefined'
了 而是直接诶xxx == undefined 就可以了


受教了!

其实我教错了

应该说
而是直接用 xxx === undefined 就可以了
三个等号更好些 哈哈
0 请登录后投票
   发表时间:2007-09-13  
是必须用 === 而不是 == 的。

关于undefined,我喜欢写成:
window.undefined = void 0;

一个是更短,另一个是不会出现strict warning。
0 请登录后投票
   发表时间:2007-09-13  
呵呵 恩 周爱民的那个框架的说明文档里就有你这个例子 呵呵
不过 我还是习惯加()
不知道为什么 typeof() void()
这些我都喜欢加() 要不看着不舒服 哈哈.
0 请登录后投票
   发表时间:2007-09-13  
fins 写道

不过 我还是习惯加()
不知道为什么 typeof() void()
这些我都喜欢加() 要不看着不舒服 哈哈.


void(0) 比 void 0 多一个字符,没问题,我们找jindw同志帮我们压缩掉它!
0 请登录后投票
   发表时间:2007-09-13  
说起jindw还真是佩服他 关于压缩和混淆我是一点概念也没有
打死我也做不出来.
真希望有机会哪位能好好讲讲相关的原理 呵呵
0 请登录后投票
   发表时间:2007-09-13  
^_^,这个压缩点还没想到。

关于 === ,可以类比java的 == 操作符(引用地址相等或原始值相等)。
而  == 更像java的equals方法。

0 请登录后投票
   发表时间:2007-09-14  
jindw 写道
^_^,这个压缩点还没想到。

关于 === ,可以类比java的 == 操作符(引用地址相等或原始值相等)。
而  == 更像java的equals方法。


=== 做比较是不做转换的 2==='2'
== 在需要的时候会做转换的 2=='2'
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics