Вы можете использовать CoRoutines . См. Реализацию Caliburn.Micro . У меня есть пользовательская реализация здесь .
lpfavreau предлагает решение , расширяются объект jQuery с Вашими собственными методами (так, чтобы их функциональность применялась на фактический контекст объекта jQuery).
, Если Вы обращаетесь просто к пространству имен Ваш код, можно использовать долларовый символ как это:
$.myNamespace = { .. };
или "jQuery":
jQuery.myNamespace = { .. };
Быть осторожными с пространством имен Вы выбираете, поскольку это может перезаписать существующие методы jQuery (я предложил бы сначала искать в коде jQuery так, чтобы Вы не делали).
можно перейти по этой ссылке: http://www.zachleat.com/web/2007/08/28/namespacing-outside-of-the-yahoo-namespace/
Видит, как легкий это должно создать Вашу собственную функцию для тиражирования то, что делает YUI:
// include jQuery first.
jQuery.namespace = function() {
var a=arguments, o=null, i, j, d;
for (i=0; i<a.length; i=i+1) {
d=a[i].split(".");
o=window;
for (j=0; j<d.length; j=j+1) {
o[d[j]]=o[d[j]] || {};
o=o[d[j]];
}
}
return o;
};
// definition
jQuery.namespace( 'jQuery.debug' );
jQuery.debug.test1 = function()
{
alert( 'test1 function' );
};
jQuery.debug.test2 = function()
{
alert( 'test2 function' );
};
// usage
jQuery.debug.test1();
jQuery.debug.test2();
В зависимости от того, что Вы пытаетесь сделать, сменная архитектура jQuery может быть тем, что Вы ищете:
$.fn.myPlugin = function() {
return $(this).each(function() {
// do stuff
});
};
или...
$.fn.myPlugin = function() {
var myNamespace = {
// your stuff
};
};
действительно это зависит от того, что Вы пытаетесь сделать.
jQuery имеет набор плагинов, которые расширяют базовую функциональность. Существует этот плагин для легких пространств имен.