Le plug-in
Writingjs/jQuery a des routines conventionnelles. Selon ces routines, il n'y aura pas de gros problèmes dans la structure du code. Ce projet appelé javascript-patterns , j'ai beaucoup appris grâce à quelques démos.
Structure de base
Bibliothèque ordinaire
Elle peut être implémentée avec la fonction anonyme la plus basique
(function(){ var root = this; root.YOURLIB = function(){ FUNC1 : function(){}, FUNC2 : function(){} } }())
Vous pouvez également utiliser call au lieu de Closure. Dans ce cas, les deux méthodes d'écriture sont équivalentes. Undersocre.js utilise la méthode d'écriture d'appel
(function(){ var root = this; root.YOURLIB = function(){ FUNC1 : function(){}, FUNC2 : function(){} } }.call(this))
jQuery. plug-in
La méthode suivante peut faire en sorte que le plug-in traverse CMD/AMD/navigateur
(function (factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery'], factory); } else if (typeof exports === 'object') { // CommonJS factory(require('jquery')); } else { // Browser globals factory(jQuery); } }(function ($) { $.fn.render = function() {} $.render2 = function() {} }))
Bien sûr, si vous ne considérez pas Seajs et RequireJS, le Le moyen le plus pratique est d'utiliser des fonctions anonymes, puis de passer window.jQuery comme paramètre
Organisation interne
Nous utilisons bootstrap-select v1.6.3,smooth-scroll Analysons ces deux projets,
Initialisation
Généralement, les bibliothèques fourniront un ensemble de fichiers de configuration par défaut, et puis utilisez-les avec des paramètres définis par l'utilisateur. Le genre de
settings = extend(defaults, options ||{})); 写法就相当赞,可以以一种十分简单的方式防止空指针异常。
en extension, défilement fluide. Le reste est la fonction de division de l'entreprise en fonction de l'entreprise. Quant à la façon de diviser, la seule chose. est de pratiquer davantage.
De plus, c'est une bonne habitude de distinguer les interfaces externes des interfaces internes en écrivant privé et public dans les commentaires.
i18n et gestion de la configuration
i18n signifie que tous les caractères internationaux sont mis en valeurs par défaut. La manière la plus élégante est de définir un objet dans les valeurs par défaut, afin que le fichier d'internationalisation soit défini.
peut être séparé du fichier de bibliothèque d'origine. Pour plus de détails, veuillez vous référer à bootstrap-datapicker
LA FIN
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!