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);
}