【发布时间】:2011-06-13 00:55:32
【问题描述】:
在接下来的文章中,Douglas Crockford 创建了一个函数来更接近地模拟 JavaScript 中的原型继承 (http://javascript.crockford.com/prototypal.html)。我理解这个概念。但是,一旦您使用下面的函数创建了一个新对象,那么除了使用点/下标表示法之外,您如何向该对象添加方法和属性。在我看来,其中任何一种都会产生丑陋的代码。
if (typeof Object.create !== 'function') {
Object.create = function (o) {
function F() {}
F.prototype = o;
return new F();
};
}
newObject = Object.create(oldObject);
然后我需要使用以下符号吗?
newObject.method1 = function(){}
newObject.cnt = 1;
...
有没有其他人觉得这是一种向对象添加属性和方法的丑陋方式?
我知道我可以在技术上传递一个函数,我想为其设置原型,以及所有方法和变量。
我或多或少想了解 Crockford 打算如何使用该功能。
【问题讨论】:
标签: javascript