I was learning about self-executing anonymous functions and the following sample code was provided:

NS.App = (function () {
var init = function () {
NS.Utils.log('Application initialized...');
};

// Return the public facing methods for the App
return {
init: init
};
}());

NS.App.init();

The part highlighted in bold return { init: init } confuses me. Since init is already equal to a function, wouldn't just return { init } be sufficient? What exactly does that line of code do? Thanks