最初はこのパターンを理解するのに長い時間がかかりましたが、それは主に次のように書かれているためだと思います。
(function(root, factory) {
// Export MyModule depending on the environment
if (typeof define === "function" && define.amd) {
define("MyModule", [], factory);
} else {
root.MyModule = factory();
}
}(this, function() {
return {
// Module definition
};
}));
まさにこれと同じではないか。
(function(root) {
var factory = function() {
return {
// Module definition
};
};
// Export MyModule depending on the environment
if (typeof define === "function" && define.amd) {
define("MyModule", [], factory);
} else {
root.MyModule = factory();
}
}(this));
現在は var ステートメントがありますが、これははるかに読みやすいと思います。ここで何か不足していますか?最初のアプローチを使用する正当な理由はありますか?