<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 82, comments - 269, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    jQuery的一個關鍵函數

    Posted on 2007-10-26 08:52 itspy 閱讀(646) 評論(3)  編輯  收藏

    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;
    };


    評論

    # re: jQuery的一個關鍵函數  回復  更多評論   

    2008-06-25 13:34 by itspy
    不承認差距不行,自己花了至少好幾個小時也沒明白的代碼,被人家這樣深度解析了.



    http://blog.ccidnet.com/blog.php?do=showone&uid=77419&type=blog&itemid=251407

    # re: jQuery的一個關鍵函數  回復  更多評論   

    2008-06-25 14:16 by itspy
    http://noteslog.com/post/how-to-force-jqueryextend-deep-recursion/

    How to force jQuery.extend deep recursion

    # re: jQuery的一個關鍵函數  回復  更多評論   

    2008-06-25 14:26 by itspy
    var test =jQuery.extend( true,
    { a:{ x:1 }, b:'2' },
    { a:{ y:'1' }, c:3 } )

    console.log(test.a.y);
    console.log(test.a.x);


    var test =jQuery.extend(
    { a:{ x:1 }, b:'2' },
    { a:{ y:'1' }, c:3 } )

    console.log(test.a.y);
    console.log(test.a.x);


    上面這段代碼可以檢驗jQuery的深度復制的區別
    if ( target.constructor == Boolean ) {
    deep = target;
    target = arguments[1] || {};
    }

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲成a人一区二区三区| 国产乱子伦精品免费女| 久久久综合亚洲色一区二区三区 | 亚洲天堂一区二区三区四区| 小日子的在线观看免费| 亚洲av成人无码久久精品| 久久青草免费91线频观看不卡| 国产AV无码专区亚洲精品| 免费精品99久久国产综合精品| 精品亚洲麻豆1区2区3区| 100部毛片免费全部播放完整| 亚洲一级毛片免费在线观看| 午夜寂寞在线一级观看免费| 老司机亚洲精品影院在线观看| 亚洲国产成人久久一区WWW| 国产精品内射视频免费| 亚洲av综合av一区| 91免费国产在线观看| 亚洲国产一区二区三区在线观看| 国产免费观看网站| 97在线免费视频| 久久99亚洲网美利坚合众国| 无码高潮少妇毛多水多水免费| 人妻丰满熟妇无码区免费| 午夜亚洲www湿好大| 成人毛片免费播放| 免费国产va在线观看| 亚洲第一AAAAA片| 毛片a级毛片免费播放下载 | 亚洲一线产区二线产区精华| 国产精品美女自在线观看免费| 国产精品免费久久| 亚洲色图激情文学| 久久久久亚洲精品天堂久久久久久| 国产精品免费看久久久| 鲁死你资源站亚洲av| 亚洲精品无码不卡在线播HE| 黄瓜视频影院在线观看免费| 美女免费视频一区二区| 亚洲国产精品免费视频| 免费A级毛片无码A∨男男|