1
這是一個獨立的實施ES5的的Object.create的:的Object.create和私人
window.createObject = (function() {
var F = function() {};
return function(o) {
F.prototype = o;
return new F();
}
}());
和使用它的一個例子:
var cat = createObject(animal);
我注意到的內部animal
在嘗試撥打私人功能時會變得有點混亂,例如:
animal = (function() {
function privFunc(arg) {
this.property;
}
function publFunc(arg) {
privFunc.call(this, arg);
}
return {
publFunc: publFunc
}
}());
有沒有更好的方法來遵循這種模式?特別是,不需要privFunc.call(this, arg)
。
的另一種方式,同樣醜陋的是:
function privFunc(animal, arg) {
animal.property;
}
function publFunc(arg) {
privFunc(this, arg);
}