J'essaie de créer un moyen d'ajouter des fonctions sous un espace de noms spécifique (dpcom). Cela peut être en notation point selon ce que l'utilisateur a fait dans son fichier javascript. Donc, en gros, ce que je veux qu'ils fassent quelque chose comme ceci:Suggestions pour rendre ce bit de code Javascript plus sexy?
dpcom.library('something.foo.funcName', function() {
// Code goes here.
})
Ils peuvent alors appeler leurs trucs plus tard comme:
dpcom.something.foo.funcName();
qui exécutera le code qu'ils ont défini ci-dessus. Le code que je veux aider à en faire plus sexy est ici (il utilise jQuery):
dpcom.library = function(name, func) {
root = dpcom;
objects = name.split('.');
lastElement = objects[objects.length - 1];
$(objects).each(function(idx, elem) {
if (elem == lastElement) {
root[elem] = func;
} else if (!root[elem]) {
root[elem] = {}
}
root = root[elem];
});
}
Cela devrait gérer la notation de points possible et créer des objets à l'intérieur de mon espace de noms si elles ne sont pas déjà (Je ne Je ne veux pas écraser les objets déjà déclarés).
Le code que j'ai ci-dessus semble bien fonctionner, mais j'ai le sentiment que je peux le rendre meilleur mais mon cerveau ne me dit pas où ... Quelqu'un veut-il essayer de le faire?
Si vous pensez que le code peut être sexy, vous êtes au-delà de l'aide de l'OMI ;-) –
code peut certainement être sexy. – Stephen
Je suis entièrement d'accord ... Je suis au-delà de l'aide à ce stade. :) – intargc