jquery's Extend extension method: The jquery extension method extend is a common method in the process of writing plug-ins, which has some overloaded prototypes, where we go to understand. One, the extension method of jquery prototype is: Extend (dest,src1,src2,src3 ...); Its meaning is to be src1,src2,src3 ... Merge into Dest, the return value is the merged dest, so you can see that the method is merged, the structure of the dest is modified. If you want to get the results of the merge without modifying the structure of the dest, you can use the following:varNewsrc=$.extend ({},src1,src2,src3 ...)//That is, "{}" as the Dest parameter. This will allow the src1,src2,src3 ... Merge, and then return the merge results to NEWSRC. The following example:varResult=$.extend ({},{name: "Tom", Age:21},{name: "Jerry", Sex: "Boy"}) Then the result of the merged results={name: "Jerry", Age:21,sex: "Boy"In other words, if the following parameter has the same name as the previous parameter, then the previous parameter value will be overwritten. Second, omit the dest parameter the Dest parameter in the Extend method prototype can be omitted, if omitted, then the method can have only one src parameter, and is to merge the src into the object that calls the Extend method, such as:1, $.extend (SRC) The method is to merge src into the global object of jquery, such as: $.extend ({hello:function() {alert (' Hello ');} }); is to merge the Hello method into the global object of jquery. 2, $.fn.extend (SRC) This method merges src into an instance object of jquery, such as: $.fn.extend ({hello:function() {alert (' Hello ');} }); is to merge the Hello method into the instance object of jquery. The following examples illustrate several commonly used extension instances: $.extend ({net:{}}); This is the extension of a net namespace in the jquery global object. $.extend ($.net,{Hello:function() {alert (' Hello ');} }) This is the extension of the Hello method into the previously extended jquery net namespace. Third, the Extend method of jquery also has an overloaded prototype: Extend (Boolean, DEST,SRC1,SRC2,SRC3 ...) The first parameter, Boolean, indicates whether to make a deep copy, the rest of the parameters are consistent with what was described earlier, what is called deep copy, and we look at an example:varResult=$.extend (true, {}, {name:"John", Location: {City: "Boston", County: "USA"}}, {last:"Resig", Location: {state: "MA", County: "China"} } ); We can see the nested location:{city in SRC1:},SRC2 also nested in "Boston" Location:{state: "MA"}, the first deep copy parameter is true, then the combined result is: result={name: "John", Last: "Resig", location:{city:"Boston", State: "MA", County: "China"}} In other words, it merges the nested objects in SRC, and if the first argument is a Boolean false, let's see what the result of the merge is, as follows:varResult=$.extend (false, {}, {name:"John", location:{city: "Boston", County: "USA"}}, {last:"Resig", Location: {state: "MA", County: "China"} } ); Then the result of the merger is: result={name: "John", Last: "Resig", Location:{state: "MA", County: "China"the above are some of the details that $.extend () will often use in the project.
Jquery.extend function Explanation