我什么时候应该使用内联和外部 Javascript?

2023-09-06前端开发问题
4

本文介绍了我什么时候应该使用内联和外部 Javascript?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想知道在性能和易于维护方面,何时应该包含外部脚本或将它们与 html 代码内联编写.

I would like to know when I should include external scripts or write them inline with the html code, in terms of performance and ease of maintenance.

对此的一般做法是什么?

What is the general practice for this?

真实世界场景 - 我有几个需要客户端表单验证的 html 页面.为此,我使用了一个包含在所有这些页面上的 jQuery 插件.但问题是,我是否:

Real-world-scenario - I have several html pages that need client-side form validation. For this I use a jQuery plugin that I include on all these pages. But the question is, do I:

  • 编写内联配置此脚本的代码?
  • 在一个文件中包含所有这些 html 页面共享的所有位?
  • 将每个位包含在单独的外部文件中,每个 html 页面一个?

谢谢.

推荐答案

在最初发布此答案时(2008 年),规则很简单:所有脚本都应该是外部的.兼顾维护和性能.

At the time this answer was originally posted (2008), the rule was simple: All script should be external. Both for maintenance and performance.

(为什么是性能?因为如果代码是分开的,它更容易被浏览器缓存.)

(Why performance? Because if the code is separate, it can easier be cached by browsers.)

JavaScript 不属于 HTML 代码,如果它包含特殊字符(如 <>)甚至会产生问题.

JavaScript doesn't belong in the HTML code and if it contains special characters (such as <, >) it even creates problems.

如今,网络可扩展性已经发生了变化.由于发出多个 HTTP 请求的延迟,减少请求的数量已成为一个有效的考虑因素.这使得答案更加复杂:在大多数情况下,仍然推荐使用外部 JavaScript.但在某些情况下,尤其是非常小的代码段,将它们内联到网站的 HTML 中是有意义的.

Nowadays, web scalability has changed. Reducing the number of requests has become a valid consideration due to the latency of making multiple HTTP requests. This makes the answer more complex: in most cases, having JavaScript external is still recommended. But for certain cases, especially very small pieces of code, inlining them into the site’s HTML makes sense.

这篇关于我什么时候应该使用内联和外部 Javascript?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

js删除数组中指定元素的5种方法
在JavaScript中,我们有多种方法可以删除数组中的指定元素。以下给出了5种常见的方法并提供了相应的代码示例: 1.使用splice()方法: let array = [0, 1, 2, 3, 4, 5];let index = array.indexOf(2);if (index -1) { array.splice(index, 1);}// array = [0,...
2024-11-22 前端开发问题
182

layui 实现实时刷新一个外部的div
主页面上显示了一个合计,在删除和增加的时候需要更改这个总套数的值: //html代码div class="layui-inline layui-show-xs-block" style="margin-left: 10px" id="sumDiv"spanSOP合计:/spanspan${totalNum}/spanspan套/span/div 于是在我们删除这个条数据后,...
2024-11-14 前端开发问题
156

layui要如何改变时间日历布局大小?
问题描述 我想改变layui时间日历布局大小,这个要怎么操作呢? 解决办法 可以用css样式对时间日历进行重新布局,具体代码如下: !DOCTYPE htmlhtmlheadmeta charset="UTF-8"title/titlelink rel="stylesheet" href="../../layui/css/layui.css" /style#test-...
2024-10-24 前端开发问题
271

JavaScript小数运算出现多位的解决办法
在开发JS过程中,会经常遇到两个小数相运算的情况,但是运算结果却与预期不同,调试一下发现计算结果竟然有那么长一串尾巴。如下图所示: 产生原因: JavaScript对小数运算会先转成二进制,运算完毕再转回十进制,过程中会有丢失,不过不是所有的小数间运算会...
2024-10-18 前端开发问题
301

jQuery怎么动态向页面添加代码?
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。 语法: $(selector).append( content ) var creatPrintList = function(data){ var innerHtml = ""; for(var i =0;i data.length;i++){ innerHtml +="li class='contentLi'"; innerHtml +="a href...
2024-10-18 前端开发问题
125

JavaScript(js)文件字符串中丢失"\"斜线的解决方法
问题描述: 在javascript中引用js代码,然后导致反斜杠丢失,发现字符串中的所有\信息丢失。比如在js中引用input type=text onkeyup=value=value.replace(/[^\d]/g,) ,结果导致正则表达式中的\丢失。 问题原因: 该字符串含有\,javascript对字符串进行了转...
2024-10-17 前端开发问题
437