我目前正在撰写一篇文章,介绍在企业环境中使用 JavaScript 时的提示/技巧/最佳实践。 “企业”可能有点含糊,因此,出于本文的目的,我们将其定义为:在不一定连接到 Internet 的网络中支持多个基于 Web 的应用程序。
以下是我的一些想法,可以让您的创意源源不断:
- 确保所有库都保存在一个可通过网络访问的中央位置,并且所有应用程序都引用这些库(而不是维护独立的副本)。
- 按版本引用库,保证新版本不会破坏您的应用程序(没有 jquery-latest,请改用 jquery-#.#.#)。
- 应用程序代码的正确命名空间
您可以提供哪些提示来帮助我?
在尽可能大的 DOM 大小上测试您的 javascript。 IE6/7/8 将根据执行的 VM 语句数而不是实际运行时间挂起。 Regex 和 regex jQuery 选择器特别糟糕。
少写。特别是 Javascript 变得非常难以管理和调试超过一定的大小集。将功能分解为不同的外部源文件会有所帮助,但始终要考虑一种更好的方法来完成您的工作(例如:jquery 插件。)
如果您一遍又一遍地编写通用模式,请停止。创建一个全局方法,或者如果该方法作用于 jQuery 选择器,请考虑编写您自己的 jQuery 插件。
不要让方法采用 DOM 对象或 ID。传入 jQuery 对象本身,并对其进行操作。通过这种方式,您不会对您的方法施加任意 DOM 约束(传入的对象甚至可能还不在 DOM 上,或者它可能没有 ID)。
不要修改原型(prototype)。这会破坏库/jQuery。如果需要,编写一个插件或新的数据类型。
不要修改库;这破坏了可升级性。您通常可以通过使用自己的插件包装 jQuery 库并转发/拦截调用来实现类似的效果,有点像 AOP。
不要在 DOM 仍在加载时执行代码。这会导致竞争条件,您只会在发生故障的机器上发现这种情况,即使这样它也不会保持一致。
不要使用 jQuery 设计页面样式。这很诱人,但随着 DOM 的增长,FOUC 会变得更糟。在您的服务器页面中构建 .first-child
、.last-child
等,而不是使用 jQuery 对其进行破解。