JavaScript最佳实践

34

有哪些好的资源可以学习JavaScript最佳实践?我主要关心的是什么时候应该使用对象,而何时应该只在DOM中追踪。此外,我也想更好地学习如何组织我的代码,使其易于进行单元测试。


This. - user1228
8个回答

36

强烈推荐阅读《JavaScript高级程序设计》和Resig的书《JavaScript忍者秘籍》

以下是一些JavaScript的技巧:

  • 不要污染全局命名空间(将所有函数放入对象/闭包中)。
    • 看看YUI,它是一个只有2个全局对象(YAHOO和YAHOO_config)的大型代码库。
  • 对于单例,请使用模块模式(http://yuiblog.com/blog/2007/06/12/module-pattern/)。
  • 尽可能使您的JS可重用(jQuery插件、YUI模块、基本JS对象)。不要编写大量的全局函数。
  • 不要忘记给变量加上var关键字。
  • 使用JSlint:http://www.jslint.com/
  • 如果需要保存状态,最好使用对象而不是DOM。

我喜欢《JavaScript: The Good Parts》这本书。然而,我不是Crockford编码风格的粉丝,我认为他过于强调不让JS看起来像一个典型的面向对象语言。我只是用它来发现语言的技巧,并将其应用到我的风格中,试图用JS模拟经典继承,因为这样可以使所有语言背景的人更容易理解。 - Ruan Mendes

9

我在某种程度上不同意“使用框架”的说法。太多人盲目地使用框架,对幕后发生的事情几乎没有了解。


5

4

2

YUI剧院有许多由Steve Souders、Douglas Crockford、John Resig等人制作的视频(其中一些有文字稿),内容涉及JavaScript、YUI、网站性能和其他相关主题。

此外,在Youtube上还有很多有趣的Google技术讲座,包括jQuery和其他框架。


2

也许最重要的一点就是使用框架,比如jQuery或者prototype,来消除各种浏览器之间的差异,同时还能使事情变得更加简单。


1
我完全不同意。虽然在某个时候这可能是有效的建议,但现在框架主要被新手用来掩盖他们缺乏经验和完全无法编写JavaScript或访问DOM的事实。 - austincheney
1
我完全不同意你的看法,austincheney。抱怨框架只是新手逃避自己不知道如何使用工具来简化工作的事实。别浪费时间了,学会站在巨人的肩膀上。此外,直接操作DOM是一个可怕的想法。 - akronymn

1

作为 Crockford 书的补充,您可能还想查看这篇文章 JavaScript 编程语言的代码约定。我还有一个稍微不同的建议:不要一开始就使用 JS 库,为什么不自己创建一个呢?您可能会写出糟糕的库(就像我一样),但在此过程中您将学到一些东西。您可以使用现有的示例作为模型。此外,为了帮助您理解 JS 设计模式,我推荐另一本书,《Pro JavaScript 设计模式》。


1

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