根据 Stackers 的推荐,我一直在阅读 Crockford 优秀的《Javascript: The Good Parts》。这是一本很好的书,但由于它大部分内容都是关于描述如何最好地使用 Javascript 基础功能,我不确定如何将他的建议付诸实践,而不会重复许多其他 Javascript 程序员的努力。
例如,看看这段话:
当你创建一个新对象时,可以选择作为其 prototype 的对象。Javascript 提供了实现这一点的机制,但是它非常混乱和复杂,但我们可以显著简化它。我们将向 Object 函数添加一个 create 方法。create 方法创建一个新对象,并将旧对象用作其 prototype。
例如,看看这段话:
当你创建一个新对象时,可以选择作为其 prototype 的对象。Javascript 提供了实现这一点的机制,但是它非常混乱和复杂,但我们可以显著简化它。我们将向 Object 函数添加一个 create 方法。create 方法创建一个新对象,并将旧对象用作其 prototype。
if (typeof Object.create !== 'function') {
Object.create = function(o) {
var F = function () {};
F.prototype = o;
return new F();
}
我可以手动将此代码添加到所有JavaScript项目中,但跟踪所有内容将会非常麻烦。
是否有任何库实现了The Good Part的建议,从而使我无需跟踪它们(/物理键入它们)就能避免这些麻烦?
jQuery.extend()
会将传入对象的属性复制到目标对象中。您无法为目标对象指定原型。换句话说:它的作用与Object.create()
不同。 - feklee