-1

对于我正在处理的新页面,我想确保尽我所能“正确”地做每一件事。我想知道最佳实践是什么。每页一个 JS 文件或一个包含所有内容的文件。我发现这个问题对一些人有所帮助,但提出了更多问题。

我几乎只将 JS 用于三件事:

  1. 在按钮单击时转换事物(显示/隐藏面板等),
  2. 预验证表格,以及
  3. AJAX 调用。

当我将我的用例与命名空间方法进行比较时,似乎有点过头了。我真的不明白为什么我需要建立如此复杂的框架来使用 JavaScript。这给我留下了两个问题:

  1. 对于我正在做的事情,我应该每页使用一个 JS 文件,还是使用爱尔兰的命名空间技术和单个脚本导入?
  2. 使用 JS 需要这么多结构的人到底是什么鬼?
4

2 回答 2

1

如果您的页面没有任何共同点,您可以为每个页面使用一个脚本文件。如果您的页面之间有很多共同的逻辑,您可能希望将这些共同位放入自己的文件中,并将其包含在您需要的任何地方。

至于为什么需要这么多结构,人们正在使用 JavaScript 制作越来越复杂的东西。以 Gmail 为例。我想那里有相当多的代码,而且没有太多的结构,它会变得难以快速维护。

于 2013-09-22T20:00:35.177 回答
1

好的,该页面是 2009 年的 - 从那时起,在网络上使用 Javascript 的方式发生了很大变化。

现在大多数网页都包含来自不同来源(和不同开发人员)的多个第三方 Javascript 文件。将您的代码封装在自定义命名空间中以防止您的代码被使用相同变量名称的其他代码覆盖是很有意义的,并且它并不比以下更难:

Mynamespace= {};
Mynamespace.foo = "bar";
Mynamespace.foobar = function(){
    //function body
};

编写结构化 Javascript 并不是要增加复杂性。编写结构化 Javascript 允许您将行为和职责封装到代码的可重用部分中,这些部分更容易测试、维护、重用和扩展。

您甚至不需要做出单文件/多文件的判断。您可以使用像 require.js 这样的框架,将所有单独的代码文件编译到一个文件中以进行部署。

JavaScript 现在正式成为 Visual Studio 中的一流语言,它被用于编写 Web 服务器、模板系统甚至 3d 引擎。

欢迎来到 2013 年 ;-)

_佩斯

于 2013-09-22T21:23:50.457 回答