我试图在 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 个实例的对象。我正在努力理解,如果有人能启发我,我将不胜感激?
使用这种方法有什么性能优势吗?