1

将所有javascript代码放在html文件的标签中有多正确?

将所有 js 代码放在单独的 .js 文件中是否被认为更好?

我注意到许多网站(包括这个)都有一些用 html 文件本身编写的 js 代码(包含在脚本标签中)。

假设我决定将所有可能的 javascript 代码放在单独的文件中。现在,这些外部文件是否可以访问 html 文档中的元素。

我的意思是,假设我想在<p>每次用户单击按钮时创建一个带有文本的新元素。外部 javascript 文件是否可以访问文档元素以允许这样做?

4

7 回答 7

5

如果您.js在 HTML 中引用该文件,则 JavaScript 将有权访问页面上的所有元素。这也适用于动态创建的元素。

最好在外部文件中包含尽可能多的 JavaScript。在页面本身中包含 JavaScript 代码不应有任何理由。

于 2012-10-09T10:51:40.877 回答
2

任何引用的 JS 文件中的任何 JS 代码都可以访问您的 html。

Javascript 通常意味着要分离到一个单独的文件中,但无论出于何种原因,有些人反对这一点,这并不是真正的世界末日。

于 2012-10-09T10:52:30.253 回答
2

单独.js的文件会导致多个http请求,这会使您的页面加载速度稍慢,但是两者都有自己的优缺点链接,例如拥有.js文件会导致缓存,从而使您的页面在用户重新访问您的页面时加载得更快,以及您不需要在您使用的每个页面上更改它,只需编辑一个文件,另一方面,它的缺点是文件是否被缓存,如果您更改有时更改不会受到影响,因为浏览器有缓存.js所以有些人确实重命名了他们的 javascript,例如abcv1.js、abcv2.js等等,使用内联脚本可以减少你的 http 请求,它也不会被浏览器缓存,所以每当你改变它时,它都会在你的网页上影响到所有访问者,因为没有脚本被缓存的问题..

如果您想要外部.js文件,您可以将所有脚本绑定在一个文件中以减少您的http请求

于 2012-10-09T10:56:25.303 回答
1

楼上大家说的都对。要记住的一件事是 .js 文件由浏览器缓存,而内联代码则没有。这有许多优点,因为浏览器不必在每次用户访问您的页面时都请求 javascript,因此通过连接发送的数据更少,并且页面第二次加载速度更快。还可以降低您的带宽使用量。

您也可以通过缩小js 文件来加快速度

于 2012-10-09T10:57:16.430 回答
0

在外部 .js 文件中包含 javascript 是保持代码整洁的“完成的事情”,一旦您在 html 中引用外部文件,它实际上就与 html 中包含的 javascript 相同

于 2012-10-09T10:53:16.537 回答
0

保存在外部.js文件中的 Javascript 的行为方式与 javascript 直接位于 HTML 中的方式完全相同。

将它放在.js文件中的好处是这些文件通常由浏览器缓存,因此不需要在每次加载页面时都下载。这样做的缺点是,如果您出于任何原因需要对文件进行更改,则需要重命名文件以确保获取最新的更改。

我通常将 javacsript 作为页面的一部分包含的唯一时间是,如果我需要使用从“代码背后”作为我的 ASP.NET 项目的一部分传递的特定值。
例如var myJSVar = <%=_myCSVar%>;

于 2012-10-09T10:54:34.333 回答
0

我总是试图将其降低到需要在渲染时写入并且或多或少独特的变量。像本地化一样(即使您也开始为此使用服务),其余的可以(并且应该)保存在外部文件中并由浏览器缓存

于 2012-10-09T10:55:48.423 回答