javascript でプライベート プロトタイプ メソッドを複製しようとしていて、このコードを見つけましたが、それ自体がどのように実装されているか完全には理解できません。
コードは...
var Foo = function () {};
Foo.prototype = (function () {
// Private attributes
var somePrivateAttribute = 'Hello world';
// Private methods
function somePrivateMethod(val) {
alert(val);
}
// Public attributes and methods
return {
somePublicMethod: function () {
somePrivateMethod(somePrivateAttribute);
}
};
})();
私が理解していないのは、このオブジェクトが開始さnew Foo()
れたときに、自己実行関数のように毎回プロトタイプの新しいオブジェクトを作成することです? 私のプロジェクトでこれを使用することの利点と欠点を説明してください。
このタイプのパターンは、インスタンスが 500 個または 1 個しかないオブジェクトに対してどのように機能しますか?
この方法を使用すると、パフォーマンス上の利点はありますか?