La prima cosa che hai scritto mi è chiarissima e ti ringrazio, mi ha anche aiutato questo esempio:
codice:
var app = {};
(function (exports) {
(function (exports) {
var api = {
moduleExists: function test() {
return true;
}
};
$.extend(exports, api);
}((typeof exports === 'undefined') ?
window : exports));
}(app));
test('Pass app as exports.', function () {
ok(app.moduleExists(),
'The module exists.');
});
Per quanto riguarda il secondo punto invece mi pare di capire che sia una regola come le virgole, i punti e virgola e tutto il resto. Bene!

Mille grazie!