关于JQ中的extend及扩展

extend 的使用说穿了很简单,无非2类。

实现: $.extend(对象A,对象B);

就是把对象B中的内容复制进对象A中,JAVAZ中Struts框架中的BeanUtils

$.extend(“新对象”,对象B);就是类似于JAVA和C#中的new 好了这些都不支持对象的对象的互换。

至于使用二个以上的参数都是以此类推的方式。

现在我提供一个支持对象的对象,包括对象的集合中的对象的复制方法,这样可以支持复杂对象的复制。 

 1JQuery.fn.extend(
 2Extend: function(json, jsonCol) {
 3        for (var name in jsonCol) {
 4            if (typeof (jsonCol) == 'object' && json[name]) {
 5                if (this.IsArray(jsonCol[name])) {
 6                    for (var i = 0; i < jsonCol[name].length; i++{
 7                        if (!json[name][i]) {
 8                            json[name].push({});
 9                        }

10                        this.Extend(json[name][i], jsonCol[name][i]);
11                    }

12                }
 else {
13                    this.Extend(json[name], jsonCol[name]);
14                }

15            }
 else {
16                $.extend(json, jsonCol);
17            }

18        }

19        return json;
20    }
,
21    IsArray: function(test) {
22        if (typeof test == 'object' && typeof test.sort == 'function' && typeof test.length == 'number'{
23            return true;
24        }

25        else {
26            return false;
27        }

28    }

29);

 

看了某位仁兄的文章后,知道JQ自带这样的功能呵呵,就是$.extend(true,对象A,对象B)

posted @ 2009-06-25 13:12  KangC  阅读(3608)  评论(4编辑  收藏  举报