[JQuery]JQuery源码学习

JQuery 源码初看 作者:mifly

JQuery工作原理解析以及源代码示例 作者:cloudandy的专栏

窥探JQuery——面向JavaScript程序员 原作者: simon willison 原文 译者: davidkore…

。。。 还有很多 慢慢补充

jQuery 的代码非常的美观整洁 很方便我们学习研究

我用刚学的python 写了一个小脚本,在jQuery 源码前面+了行号 方便读写

 

 1#addLineNumber.py
 2'''add LineNumber to some file'''
 3
 4
 5addNum = 1
 6all = []
 7
 8fname = raw_input('Enter file name: ')
 9print
10
11try:
12    fobj = open(fname, 'r')
13except IOError, e:
14    print"*** file open error:", e
15else:
16    
17    for eachLine in fobj:
18        all.append(("[%-4d]" % addNum)+' '+eachLine);
19        addNum+=1
20    fobj.close()
21
22fobj = open('result.js''w')
23fobj.writelines(['%s' % x for x in all])
24fobj.close()
25print 'DONE!'
26raw_input()
27 1(function(){
 2/*d
 3 * jQuery 1.2.6 – New Wave JavaScript
 4 *
 5 * Copyright (c) 2008 John Resig (jquery.com)
 6 * Dual licensed under the MIT (MIT-LICENSE.txt)
 7 * and GPL (GPL-LICENSE.txt) licenses.
 8 *
 9 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
10 * $Rev: 5685 $
11 */

12
13// Map over jQuery in case of overwrite
14var _jQuery = window.jQuery,
15// Map over the $ in case of overwrited
16    _$ = window.$;
17
18var jQuery = window.jQuery = window.$ = function( selector, context ) {
19    // The jQuery object is actually just the init constructor 'enhanced'
20    return new jQuery.fn.init( selector, context );
21}
;
22
23// A simple way to check for HTML strings or ID strings
24// (both of which we optimize for)
25var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,
26
27// Is it a simple selector
28    isSimple = /^.[^:#\[\.]*$/,
29
30// Will speed up references to undefined, and allows munging its name.
31    undefined;

32

 

[1   ] (function(){
(function(){})();
第一个括号里面是个匿名函数,第二个括号表示马上执行第一个括号里面的代码。所有javascript代码都在一个匿名函数里,确保了所定义的函数、对象的有效范围,起到了命名空间的作用。

[3   ] * jQuery 1.2.6 – New Wave Javascript
版本信息 jquery 1.2.6 伟大的代码 伟大的版本

[14 ] var _jQuery = window.jQuery,
保存window对象本身的jQuery对象(如果存在),避免与 jQuery 库的冲突

[16 ] _$ = window.$;
同上

[18 ] var jQuery = window.jQuery = window.$ = function( selector, context ) {

[21 ] };
返回jQuery对象,jQuery同时也是window对象的一个属性,这样就可以在其他地方像使用document(document也是window的一个属性)一样使用jQuery了。$是jQuery的同名对象

[25 ] var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,
/『^』开始『[^<]*』大于等于0个不是符号"<"的任意字符『(<(.|\s)+>)』符号"<"+大于等于1个任 意字符或者空白+符号">"『[^>]*$|^#(\w+)$』以大于等于0个非符号">"结束或者以开头是符号"#"和大于等于1个 的数字字母结束/

[28 ] isSimple = /^.[^:#\[\.]*$/,

『^.』任意字符开头(除换行符)『[^:#\[\.]*』大于等于0个非符号":"、"#"、"|"、"."的字符结束

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏