Они создают пространство имен.Есть много способов сделать это, и все они более или менее эквивалентны:
A = {
Prop : '23',
generate : function (n) {
// do something
}
};
Или, что эквивалентно:
A = { };
A.Prop = '23';
A.generate = function (n) {
// do something
};
Также, если вам нравится быть многословным:
A = new Object();
A.Prop = '23';
A.generate = function (n) {
// do something
};
function
обычно используется для обозначения «класса», а не «пространства имен», например:
A = (function () {
var propValue = '23'; // class local variable
return {
"Prop" : propValue,
"generate" : function (n) {
// do something
}
};
})();
// then I can use A in the same way as before:
A.generate(name);