Jquery 代码解释

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:34:17
谁能帮我详细解释下Jquery开始的一段代码??
(function(){
/*
* jQuery 1.2.6 - New Wave Javascript
*
* Copyright (c) 2008 John Resig (jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
* $Rev: 5685 $
*/

// Map over jQuery in case of overwrite
var _jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$;

var jQuery = window.jQuery = window.$ = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context );
};

// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,

// Is it a simple selector
isSimple = /^.[^:#\[\.]*$/,
<

这些都是JAVASCRIPT函数定义的方法,空函数,匿名函数等等
推荐你一本书《征服Ajax+-+Web20开发技术详解试读版.pdf》
里面有你想知道的所有不明白的JS问题
这段代码还不是最难懂的
1,把一个对象定义成一个过程,这个是被允许的
2,JS语法与C语法类似,变量名可以用非数字开始
3,siSimple是function()一个参数,而非单独一行JS代码
4,把init这个参数定义为一个过程,其中带2个参数

1:(function(){...}表示jquery代码开始!jquery代码写在里面这样可以在html页面运行完后多次调用jquery程序
2: var _jQuery = window.jQuery,表示修改jquery的关键字!防止$或者jquery被占用导致错误,但是这样以后的Jquery代码开始都要用_jquery开头,一般不要修改!容易导致jquery出错!
3: "," 估计是写错了,应该是";" 也有可能正则要用","结束(可能性很小);
4: init: function( selector, context ) {...} 表示增加一个插件方法可以用$("???").init()调用;
例如:
增加两个插件方法。
jQuery.fn.extend({
check: function() {
return this.each(function() { this.checked = true; });
},
uncheck: function() {
return this.each(function() { this.checked = false; });
}
});
该结果为:
$("input[@type=checkbox]").check();
$("input[@type=radio]").uncheck();