拡張子
コード:
var blogModule = (function ( my) {
my.AddPhoto = function () {
//内部コードを追加
};
return my;
}(blogModule));
言う:
それ自体をメソッドに渡し、メソッドの拡張を実装します。これは部品を組み立てるのと少し似ています
コード:
var blogModule = (function (my) {var oldAddPhotoMethod = my.AddPhoto;
my.AddPhoto = function () { // オーバーロードされたメソッド。古いメソッドはまだ oldAddPhotoMethod を通じて呼び出すことができます。}; return my;}(blogModule));
言う:
利点は、次のように呼び出せることです。前の方法。
クローンと継承
コード:
var blogModule = (function (old) { var my = {}, key; for (key in old) { if (old.hasOwnProperty(key)) { my[key] = old[key]; } } var oldAddPhotoMethod = old.AddPhoto; my.AddPhoto = function () { // クローン作成後は、引き続き oldAddPhotoMethod を呼び出すことができます } (blogModule);
言う:
単純なクローン作成の実装
ファイル間でプライベート オブジェクトを共有する
コード:
var blogModule = (function (my) { var _private = my._private = my._private || {}, _seal = my._seal = my._seal || function () { my._private を削除; my._unseal を削除 }, _unseal = my._unseal = _unseal; = _unseal; }; return my; } (blogModule || {}));
と言うと、
blogModule._seal() がロックを解除して内部変数をプライベート化します。この実装はベストではないと思いますが、このロック解除とロック機能を学ぶことができます。