如何最好地使用JavaScript中的“好部分”

14
根据 Stackers 的推荐,我一直在阅读 Crockford 优秀的《Javascript: The Good Parts》。这是一本很好的书,但由于它大部分内容都是关于描述如何最好地使用 Javascript 基础功能,我不确定如何将他的建议付诸实践,而不会重复许多其他 Javascript 程序员的努力。
例如,看看这段话:
当你创建一个新对象时,可以选择作为其 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的建议,从而使我无需跟踪它们(/物理键入它们)就能避免这些麻烦?

5个回答

5

Prototype有很多强大的功能,包括一个Class helper,通过对象原型处理JS“继承”的详细信息。

编辑:该死,我总是忘记jQuery(我自己选择的库)有jQuery.extend


jQuery.extend()会将传入对象的属性复制到目标对象中。您无法为目标对象指定原型。换句话说:它的作用与Object.create()不同。 - feklee

1

他不是在雅虎工作吗?你可以随时使用Yahoo用户界面库

就我个人而言,我更偏爱JQuery,因为它给我留下了更简洁的印象,但你知道:因人而异。


1

Dojo非常密切地遵循了Crockford的思想。例如,在函数dojo.delegate下实现了上面代码片段的实现(甚至更快)。

我认为没有一个特定的项目完全按照他的建议来执行。大多数工具包实际上与他的许多建议和模式不同意。如果你想知道特定的功能,比如上面的代码片段,那么值得询问你想在项目中使用哪些来自书籍的具体工具。


0

我认为YUI是最接近Crockford在他的书中所教授的内容的。 (他也是雅虎的架构师,这很有道理)


0

看一下es5-shim,这是一个库,提供了一个-虽然不完整的-Object.create()和其他东西的shim。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接