Как написано, я не думаю, что это будет делать то, что вы хотите.Вы инициализируете «MyLibrary.MyModule», чтобы быть практически ничем;из этой функции «initialize» нет возвращаемого значения, и вы вызываете ее так, как будто она есть.
Я не могу сказать, что вы пытаетесь сделать, но:
MyLibrary.MyModule = (function whatever() { /* ... */ })(id, options);
означает, «вызовите функцию независимо от со списком аргументов, состоящим из значений переменной« id »и переменной« options », а затем установите свойство« MyModule »для объекта, на который ссылается«MyLibrary» к какому-либо значению возвращается из вызова этой функции. «
Когда дым рассеется,« MyLibrary.MyModule »не будет функцией, насколько я могу судить.Возможно, если вы объясните, что вы хотите , чтобы это значило, тогда кто-то может помочь исправить это.