Ich bin erstaunt, dass sogar nach all dieser Zeit (jQuery war um since 2006) müssen wir auf adding a plugin oder custom function zurückgreifen, um Namespaces in jQuery zu implementieren.
// USAGE:
// var myProject = $.namespace('com.foo.myProject');
namespace : function(){
var o, d;
$.each(arguments, function(i,v) {
d = v.split(".");
o = window[d[0]] = window[d[0]] || {};
$.each(d.slice(1), function(i2, v2){
o = o[v2] = o[v2] || {};
});
});
return o;
},
Ich meine, das ist ein kleines Stück Code für ein Konzept, das in den meisten Javascript-Projekten und Frameworks verwendet wird (oben auf den ext js implementation basiert):
Warum ist nicht dieser Teil von jQuery Core bauen? Gibt es einen Grund neben "wir haben es noch nicht geschafft"?
Ernsthaft? Sie benötigen so viel Code, um Namespacing zu implementieren? Die meisten Leute verwenden genau Null Bytes für die Implementierung. – slebetman
Sie sollten das jquery-Plugin sehen, wenn Sie denken, dass das zu lang ist –
@slebtman haben Sie eine bessere Möglichkeit, die gesamte Namespace-Hierarchie auf einmal zu definieren? –