Хороший вопрос!
Во-первых, ваш JavaScript немного ошибочен. Чтобы достичь желаемого эффекта, ваше первое пространство имен должно выглядеть так:
var NAMESPACE_FIRST = {
init: function() {
alert("onload functions");
},
map: function() {
this.length = 0;
NAMESPACE_FIRST.map.prototype.build = function() {
alert("1");
return this.length;
}
}
}
Итак, отвечая на вопрос 2, ваш onready будет выглядеть примерно так:
$(function () {
NAMESPACE_FIRST.init();
var obj = new NAMESPACE_FIRST.map();
obj.build();
}
Относительно вопроса 1, у меня нет реального мнения в любом случае.