Если вам нужно использовать extend()
, потому что объект NameSpace
уже существует, то используйте deep extension в полной мере:
$.extend( true, NameSpace, {
subNameSpace : {
data : {}
}
});
К сожалению, вопрос о том, как правильно назвать свой объект, у вас полностью зависит от проекта. Разве данные не должны касаться других разработчиков? Если нет, тогда одним условием является использование подчеркивания в начале имени. Сколько у вас будет subNameSpace
, и будет data
зависеть от одного или всех из них.
Если вы собираетесь использовать пространство имен вне объекта jQuery
, вам необходимо определить, будет ли метод работать самостоятельно или на множестве выбранных объектов. Если первое, то просто расширяйте jQuery
, а если второе, то расширяйте jQuery.fn
.