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

GEOCHETDan提出了一个问题:When should I use Inline vs. External Javascript?,或许与您遇到的问题类似。

回答者Konrad Rudolph给出了该问题的处理方式:

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 doesn't belong in the HTML code and if it contains special characters (such as <, >) it even creates problems.

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中文网

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/10533


猜你喜欢

  • 未被发现的错误:security_err DOM例外18

    在前端开发中,很常见的问题是设置cookie。然而,在尝试设置cookie时,你可能会遭遇到一个名为"security_err DOM例外18"的异常,这个异常会导致设置cookie失败。

    7 年前
  • 将点符号中的 JavaScript 字符串转换为对象引用

    在前端开发中,我们经常需要读取或修改 JavaScript 对象中的属性。通常我们使用点符号直接访问对象的属性。但是,在某些情况下,我们可能需要通过字符串来访问对象的属性。

    7 年前
  • 如何利用JavaScript中的属性获取对象索引

    在前端开发过程中,经常需要对数组或对象进行遍历和操作。其中,获取对象索引是一项非常常见的操作。本文将介绍如何利用JavaScript中的属性获取对象索引,并结合示例代码详细讲解。

    7 年前
  • 如何获取所有选中的复选框

    在前端开发中,我们经常需要处理表单数据。其中,复选框是一种特殊的表单元素,它可以允许用户选择多个选项。但是,当我们需要获取所有选中的复选框时,该怎么做呢? 1. 使用原生 JavaScript 实现 ...

    7 年前
  • 使用导航组件对本机自定义导航进行响应

    在现代 Web 应用程序中,导航是一项关键功能,为用户提供了在不同页面之间浏览的便利性。虽然许多应用程序使用默认浏览器导航,但有时需要实现自定义导航,以便更好地满足业务需求。

    7 年前
  • 整合 dropzone.js 到现有的 HTML 表单和其他领域

    简介 Dropzone.js 是一个用于简化文件上传的 JavaScript 库,它可以轻松处理文件的拖放、上传进度、预览等功能。在前端开发中,我们经常需要使用到文件上传功能,如头像上传、作品上传等。

    7 年前
  • 对比 object.getOwnPropertyNames() 和 object.keys()

    简介 在 JavaScript 中,我们可以使用 Object.getOwnPropertyNames() 和 Object.keys() 两个方法来获取对象的属性名列表。

    7 年前
  • 什么是“严格模式”?它是如何使用的?

    JavaScript 的“严格模式”(strict mode)是 ECMAScript 5 中新增的一种代码执行模式。它可以让 JavaScript 引擎在执行脚本时更加严格地遵循规范,减少一些常见的...

    7 年前
  • 为什么是`0 [ 0 ]`语法有效的吗?

    在JavaScript中,我们可以通过方括号访问对象属性。例如,如果我们有一个名为 obj 的对象和一个名为 prop 的属性,则可以使用以下方式访问它: ----- --- - - ----- --...

    7 年前
  • 我如何使用format()在moment.js中格式化时间?

    如果你是前端开发人员,你可能经常需要处理日期和时间。Moment.js是一个流行的JavaScript库,它可以使日期和时间操作更加简单和可读。其中一个强大的功能是format()方法,它允许你将日期...

    7 年前
  • 如果未定义,JavaScript将设置一个变量

    在 JavaScript 中,如果你没有先声明一个变量再使用它,那么 JavaScript 将会自动设置这个变量,这可能会导致一些意外的行为并给我们带来困惑。在本文中,我们将深入探讨这个问题,并提供一...

    7 年前
  • 如何触发了谷歌地图上V3标记的onclick事件

    在使用Google Maps API V3时,我们经常需要添加标记(marker)到地图上。这些标记不仅可以让用户方便地查看地图信息,还可以为地图应用程序提供交互性和可定制性。

    7 年前
  • 按值移除数组项

    在前端开发中,我们经常需要对数组进行操作。其中一个常见的操作是按值移除数组项。本文将详细介绍如何实现这个功能,并提供代码示例。 实现方法 有多种方法可以按值移除数组项。下面介绍两种常用的方法。

    7 年前
  • 最快的退出策略:滥用网站的恐慌按钮?

    在现代互联网时代,我们经常会遇到一些危机/滥用性问题,比如网页弹出广告、误导链接、虚假信息等。这些问题不仅影响了用户体验,还可能对用户的计算机安全造成威胁。在这种情况下,用户最需要的是一个快速、简单、...

    7 年前
  • 可以在浏览器中运行JavaScript吗?

    JavaScript是一种广泛使用的脚本语言,经常用于网页开发和前端技术。然而,许多人可能会问:JavaScript是否可以在浏览器中运行?答案是肯定的。 浏览器中的JavaScript 在浏览器中,...

    7 年前
  • 如何在另一个对象中复制对象属性?

    在前端开发中,有时候我们需要将一个对象的属性复制到另一个对象中。这个过程可能涉及到深拷贝和浅拷贝的问题,而且也存在不同的实现方法。本文将介绍如何在 JavaScript 中实现这个过程,并提供一些示例...

    7 年前
  • 为什么以及何时使用Node.js?

    为什么以及何时使用Node.js? Node.js是一个基于Chrome V8引擎的JavaScript运行时,可以在服务器端运行JavaScript代码。Node.js的出现极大地扩展了JavaSc...

    7 年前
  • +0和-0是一样的吗?

    在 JavaScript 中,+0 和 -0 看起来可能是相同的数值,但实际上它们有着微妙的区别。本文将深入探讨这个话题,并介绍如何正确使用和比较这两个数值。 什么是 +0 和 -0 ? 首先,我们需...

    7 年前
  • 在没有浏览器的情况下执行JavaScript?

    在前端开发中,JavaScript是一门核心语言。然而,我们通常使用浏览器来执行JavaScript代码。但是,在某些情况下,我们可能需要在没有浏览器的情况下执行JavaScript代码,例如在服务器...

    7 年前
  • 如何取消绑定一个监听器及调用的事件preventDefault()(使用jQuery)?

    在前端开发中,我们经常需要为 DOM 元素添加事件监听器,以便在事件触发时执行相应的操作。但是有时候我们需要取消已经绑定的监听器,或者阻止默认行为的发生。本文将介绍如何使用 jQuery 取消绑定监听...

    7 年前

相关推荐

    暂无文章