Metóda rozšírenia od JQuery: Rozšírenie metódy Extension v Jquery je bežná metóda, ktorú používame pri písaní pluginov, a existujú aj niektoré prototypy preťaženia, takže sa o tom poďme učiť spolu. 1. Prototyp Jqueryho metódy rozšírenia je:
Znamená to pridať src1, src2, src3... zlúčte do destu a vráťte hodnotu zlúčeného dest, čo ukazuje, že štruktúra destu bola po zlúčení metódy upravená. Ak chcete dosiahnuť výsledok zlúčenia, ale nechcete meniť štruktúru dest, môžete použiť nasledovné:
To ti umožní nastaviť src1, src2, src3... Zlúč a potom vráť výsledok zlúčenia do newSrc. Napríklad:
Potom výsledok po zlúčení
To znamená, že ak má nasledujúci parameter rovnaký názov ako predchádzajúci parameter, nasledujúci parameter prepíše hodnotu predchádzajúceho parametra.
2. Vynechať parameter dest Ak je vynechaná, metóda môže mať len jeden parameter src a src môže byť zlúčený do objektu, ktorý volá metódu extens, napríklad: 1、$.extend(src) Táto metóda spočíva v zlúčení src do globálneho objektu jquery, napríklad:
Ide o zlúčenie metódy hello do globálneho objektu jquery. 2、$.fn.extend(src) Táto metóda spája src do inštancie objektu jquery, napríklad:
Ide o zlúčenie metódy hello do objektu inštancie jquery.
Tu je niekoľko príkladov bežne používaných rozšírení:
Toto je rozšírenie .NET menného priestoru v globálnom objekte jquery.
Toto je rozšírenie metódy hello na netový menný priestor Jquery, ktorý bol predtým rozšírený.
3. Existuje aj prototyp preťaženia v Jqueryho metóde rozšírenia:
Prvý parameter boolean predstavuje, či vytvoriť hlbokú kópiu, a ostatné parametre sú rovnaké ako tie zavedené skôr.
Vidíme, že vnorená lokalita podobjektu:{city:"Boston"} je vnorená v src1 a lokalita podobjektu:{state:"MA"} je tiež vnorená v src2, pričom prvý parameter hĺbkového kopírovania je pravdivý, potom zlúčený výsledok je:
To znamená, že zlúči vnorené podobjekty aj v src, a ak je prvý parameter boolean nepravdivý, pozrime sa, aký je výsledok zlúčenia, nasledovne:
Výsledkom zlúčenia je:
Toto sú niektoré podrobnosti o tom, ako sa často používa $.extend() v projektoch.
|