jQuery的一个关键函数

jQuery.extend = jQuery.fn.extend = function() {
 // copy reference to target object
 var target = arguments[0] || {}, a = 1, al = arguments.length, deep = false;

// Handle a deep copy situation

//这个IF条件基本上总是false,只有当target对象是布尔类型时才会是真,也就是这段代码好像没有什么作用

if ( target.constructor == Boolean ) {   
  deep = target;
  target = arguments[1] || {};
 }

// extend jQuery itself if only one argument is passed
 if ( al == 1 ) {
  target = this;
  a = 0;
 }

var prop;

for ( ; a < al; a++ )
  // Only deal with non-null/undefined values
  if ( (prop = arguments[a]) != null )
   // Extend the base object
   for ( var i in prop ) {
    // Prevent never-ending loop
    这一段代码不知道怎么搞的,说是用来阻止死循环,但我怎么也不明白他是如何阻止的,好像却了他也没什么影响。
    if ( target == prop[i] )
     continue;

// Recurse if we‘re merging object values
    if ( deep && typeof prop[i] == ‘object‘ && target[i] )
     jQuery.extend( target[i], prop[i] );

// Don‘t bring in undefined values
    else if ( prop[i] != undefined )
     target[i] = prop[i];
   }

// Return the modified object
 return target;
};

时间: 2024-11-08 11:01:11

jQuery的一个关键函数的相关文章

自己写的一个类似于jQuery中的toggle函数

这是HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>公共测试页</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script ty

[ jquery 效果 fadeIn([speed,[easing],[fn]]) fadeOut([speed,[easing],[fn]]) ] 此方法用于通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数

fadeIn([speed],[easing],[fn]): 通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数,这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化 fadeOut([speed],[easing],[fn]): 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数,这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化 实例: <html lang='zh-cn'>

[ jquery 效果 fadeToogle([speed,[easing],[fn]]) ] 此方法用于通过切换不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数

此方法用于通过切换不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数: 实例: <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyw

[ jquery 效果 fadeTo([speed,[easing],[fn]]) ] 此方法用于通过调整不透明度的变化至指定目标来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数

此方法用于通过调整不透明度的变化至指定目标来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数 实例: <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,

[从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)

jQuery片段: [javascript] view plaincopyprint? (function(){ //这里忽略jQuery所有实现 })(); (function(){//这里忽略jQuery所有实现})(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN.结果相信现在很多人都很清楚了(因为

[从jQuery看JavaScript]-匿名函数与闭包

jQuery片段: [javascript] view plaincopy (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN.结果相信现在很多人都很清楚了(因为在我之后也不乏来者,呵呵~).当一个匿名函数被括起来,然后再在后面加一个括号,这

JQuery之JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案

JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案 JQuery的版本 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery的版本</title> <

jquery中的 $(function(){ .. }) 函数

2017-04-29 在讲解jquery中的 $(function(){ .. }) 函数之前,我们先简单了解下匿名函数.匿名函数的形式为:(function(){ ... }),又如 function(arg){ ... };定义了 一个参数为 arg 的匿名函数,然后使用 (function(arg){ ... })(param) 来调用这个函数,其中 param 是传入这个匿名函数的参数. 但需要主要匿名函数与jquery中的 $(function(){ ...}) 函数的区别:$(fun

jQuery生成一个DIV容器,ID是&quot;rating&quot;.

我们需要一些服务器端代码,这个例子中用到了一个PHP文件,读取rating参数然后返回rating总数和平均数.看一下rate.php代码.虽然这些例子也可以不使用AJAX来实现,但显示我们不会那么做,我们用jQuery生成一个DIV容器,ID是"rating". $(document).ready(function() {        // generate markup        var ratingMarkup = ["lease rate: "];