Maison  >  Article  >  interface Web  >  Explication détaillée de la méthode d'extension de Jquery extend

Explication détaillée de la méthode d'extension de Jquery extend

青灯夜游
青灯夜游avant
2020-11-24 18:06:113449parcourir

Explication détaillée de la méthode d'extension de Jquery extend

Recommandations associées : "Tutoriel jQuery"

La méthode d'extension de Jquery extend est une méthode couramment utilisée lorsque nous écrivons des plug-ins. sont des prototypes surchargés, examinons-les ensemble.

1. Le prototype de la méthode d'extension de Jquery est :  

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

Cela signifie fusionner src1, src2, src3... dans dest , la valeur de retour est la destination fusionnée. On peut voir que cette méthode modifie la structure de la destination après la fusion. Si vous souhaitez obtenir le résultat fusionné mais ne souhaitez pas modifier la structure de dest, vous pouvez l'utiliser comme suit :

var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数。

De cette façon, vous pouvez fusionner src1, src2, src3... et puis renvoyez le résultat fusionné à newSrc. Par exemple :

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

Ensuite, le résultat fusionné est

result={name:"Jerry",age:21,sex:"Boy"}

C'est-à-dire que si ce dernier paramètre a le même nom que le paramètre précédent, alors ce dernier paramètre écrasera le paramètre précédent. valeur.

2. Omettez le paramètre dest

Le paramètre dest dans le prototype de la méthode d'extension ci-dessus peut être omis s'il est. est omis, la méthode ne peut alors avoir qu'un seul paramètre src, et le src est fusionné dans l'objet qui appelle la méthode extend, tel que :

1, $.extend (src )

Cette méthode consiste à fusionner src dans l'objet global de jquery, tel que :

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

consiste à fusionner la méthode hello en jquery dans l'objet global.

2. $.fn.extend(src)

Cette méthode fusionne src dans l'objet d'instance jquery, tel que :

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

C'est pour fusionner la méthode hello dans l'objet instance jquery.

Voici quelques exemples d'extensions couramment utilisés :

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

Il s'agit d'étendre un espace de noms net dans l'objet global jquery.

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

Il s'agit d'étendre la méthode hello dans l'espace de noms net Jquery précédemment étendu.

3. La méthode extend de Jquery a également un prototype surchargé :

extend(boolean,dest,src1,src2,src3...)

Le premier paramètre booléen représente s'il faut effectuer une copie approfondie, et les paramètres restants sont les mêmes que précédemment introduit , qu'est-ce que la copie profonde ? Regardons un exemple :

var result=$.extend( true,  {},  
    { name: "John", location: {city: "Boston",county:"USA"} },  
    { last: "Resig", location: {state: "MA",county:"China"} } );

Nous pouvons voir que l'emplacement du sous-objet : {city : "Boston"} est imbriqué dans src1, et l'emplacement du sous-objet : { state: est également imbriqué dans src2. "MA"}, le premier paramètre de copie profonde est vrai, alors le résultat fusionné est :

result={name:"John",last:"Resig",
       location:{city:"Boston",state:"MA",county:"China"}}

C'est-à-dire qu'il fusionnera également les sous-objets imbriqués dans src. , et si le premier Le paramètre booléen est faux. Voyons quel est le résultat de la fusion, comme suit :

var result=$.extend( false, {},  
{ name: "John", location:{city: "Boston",county:"USA"} },  
{ last: "Resig", location: {state: "MA",county:"China"} }  
                    );

Ensuite, le résultat après la fusion est :

result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}

Voici comment procéder ci-dessus. $.extend() est souvent utilisé dans les projets. J'ai quelques détails.

Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer