Non riesco a capire questo codice semplicissimo:
codice:
(function (exports) {
var api = {
moduleExists: function test() {
return true;
}
};
$.extend(exports, api);
}((typeof exports === 'undefined') ?
window : exports));
test('Pass in exports.', function () {
ok(moduleExists(),
'The module exists.');
});
e le ragioni sono moltlepici:
1) So cosa è una espressione di funzione invocata immediatamente anche perché il libro lo spiega pure però non mi è chiaro come javascript interpreta il codice dentro le parentesi tonde e precisamente questo codice:
codice:
((typeof exports === 'undefined') ?
window : exports)
2) Inoltre con capisco perché la funzione anonima invocata immediatamente deve essere racchiusa da altre parentesi donte pena il funzionamento dello script.
Mi date una mano a leggere questo codice?
Grazie