Jquery.extend function Detailed _jquery

Source: Internet
Author: User
The Extend extension method of jquery: jquery extension method Extend is our common method in the process of writing plug-ins, this method has some overload prototype, here we go to understand. One, jquery extension method prototype is:
Copy Code code as follows:

Extend (dest,src1,src2,src3 ...);

It means to src1,src2,src3 ... Merged into Dest, the return value is the merged dest, which shows that the method is modified to dest structure after merging. If you want to get the results of a merge but do not want to modify the structure of the dest, you can use the following:
Copy Code code as follows:

var newsrc=$.extend ({},src1,src2,src3 ...) That is, "{}" as the Dest parameter.

This can be src1,src2,src3 ... To merge, and then return the merge results to NEWSRC. The following example:
Copy Code code as follows:

var result=$.extend ({},{name: "Tom", Age:21},{name: "Jerry", Sex: "Boy"})

Then the combined results
Copy Code code as follows:

Result={name: "Jerry", Age:21,sex: "Boy"}

That is, if the following argument has the same name as the previous argument, then the previous parameter value will be overwritten.
Ii. omitting dest Parameters
The Dest parameter in the above extend method prototype can be omitted, if omitted, the method can only have one src parameter, and the SRC is merged into the object that invokes the Extend method, such as: 1, $.extend (SRC) The approach is to merge SRC into the global object of jquery, such as:
Copy Code code as follows:

$.extend ({hello:function () {alert (' Hello ');}});

is to incorporate the Hello method into the global object of jquery.
2. $.fn.extend (SRC) This method merges src into the instance object of jquery, such as:
Copy Code code as follows:

$.fn.extend ({hello:function () {alert (' Hello ');}});


is to merge the Hello method into the instance object of jquery.
The following example illustrates several common extension instances:
Copy Code code as follows:

$.extend ({net:{}});

This is the extension of a net namespace in the jquery global object.
Copy Code code as follows:

$.extend ($.net,{hello:function () {alert (' Hello ');}})

This is to extend the Hello method to the net namespace of the previously extended jquery.
Three, jquery extend method also has an overloaded prototype:
Copy Code code as follows:

Extend (BOOLEAN,DEST,SRC1,SRC2,SRC3 ...)

The first argument Boolean represents whether to make a deep copy, the rest of the arguments are consistent with the previous description, and what is called a deep copy, let's look at an example:
Copy Code code as follows:

var Result=$.extend (True, {}, {name: "John", Location: {City: "Boston", County: "USA"}}, {last: "Resig", Location: {stat E: "MA", County: "the" ";"

We can see that the nested SRC1 in the location:{city: "Boston"},SRC2 also have nested objects location:{state: "MA"}, the first depth copy parameter is true, then the result of the merge is:
Copy Code code as follows:

Result={name: "John", Last: "Resig", location:{city: "Boston", State: "MA", County: "The"


That is, it merges the nested subforms in SRC, and if the first argument is false, let's see what the result of the merge looks like:
Copy Code code as follows:

var result=$.extend (False, {}, {name: "John", location:{city: "Boston", County: "USA"}}, {last: "Resig", Location: {stat E: "MA", County: "the" ";"

Then the result of the merger is:
Copy Code code as follows:

Result={name: "John", Last: "Resig", Location:{state: "MA", County: "Our"}


These are some of the details that $.extend () will often use in the project.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.