JavaScript 的三种引入方法详解

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
简介: 在网页开发中,JavaScript 可通过内联、内部脚本和外部脚本三种方式引入 HTML 文件,各具适用场景。本文详解其用法并附完整示例代码,帮助开发者根据项目需求选择合适的方式,提升代码维护性与开发效率。

在网页开发中,JavaScript 可以通过不同的方式引入到 HTML 文档中,每种方式都有其适用场景。本文将详细介绍三种种常用的 JavaScript 引入方法,并提供完整的演示代码。

1.内联方式(Inline)
内联方式是将 JavaScript 代码直接写在 HTML 标签的事件属性中,如 onclick、onload 等。这种方式通常用于简单的交互逻辑。

完整示例代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>内联方式引入JS</title>
</head>
<body>
    <h1>内联方式引入JavaScript示例</h1>

    <!-- 内联事件处理器 -->
    <button onclick="alert('按钮被点击了!这是内联JS效果')">
        点击我(内联JS)
    </button>

    <p onmouseover="this.style.color='red'" onmouseout="this.style.color='black'">
        鼠标移到我上面会变色(内联JS效果)
    </p>
</body>
</html>

特点:

代码直接写在 HTML 标签内
适合非常简单的交互逻辑
不便于代码复用和维护
会导致 HTML 和 JavaScript 代码混杂

2.内部脚本(Internal)
内部脚本是将 JavaScript 代码写在 HTML 文档的 script 标签内,通常放在 head 或 body 中。

完整示例代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>内部脚本引入JS</title>

    <!-- 内部脚本,放在head中 -->
    <script>
        // 页面加载完成后执行
        window.onload = function() {
   
            console.log('页面加载完成!');
            showWelcomeMessage();
        }

        function showWelcomeMessage() {
   
            alert('欢迎访问本页面!这是内部JS效果');
        }
    </script>
</head>
<body>
    <h1>内部脚本引入JavaScript示例</h1>

    <button onclick="changeText()">点击修改文本</button>
    <p id="demo">这是一段可以被修改的文本</p>

    <!-- 也可以在body底部放置script标签 -->
    <script>
        function changeText() {
   
            document.getElementById('demo').innerHTML = '文本已被内部JS修改!';
            document.getElementById('demo').style.color = 'blue';
        }
    </script>
</body>
</html>

特点:

代码集中在 script 标签内
可以在同一个 HTML 文件中多次使用
适合中等复杂度的脚本
仍然与 HTML 文档混合在一起

3.外部脚本(External)
外部脚本是将 JavaScript 代码写在独立的 .js 文件中,然后在 HTML 文档中通过 script 标签的 src 属性引入。这是最推荐的方式。

完整示例代码:

首先创建 JavaScript 文件 external-script.js:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>外部脚本引入JS</title>
    <!-- 引入外部JS文件 -->
    <script src="external-script.js" defer></script>
</head>
<body>
    <h1>外部脚本引入JavaScript示例</h1>

    <button id="externalBtn">点击我(外部JS)</button>
    <div id="message"></div>

    <!-- 也可以在body底部引入 -->
    <!-- <script src="external-script.js"></script> -->
</body>
</html>

特点:

代码与 HTML 完全分离,便于维护
可以在多个页面中复用同一个 JS 文件
浏览器可以缓存外部 JS 文件,提高加载速度
适合大型项目和复杂逻辑
通过 defer 或 async 属性可以控制加载和执行时机

总结
三种引入方式各有优缺点,选择哪种方式取决于项目需求:

内联方式:适用于非常简单的交互,不推荐大量使用
内部脚本:适用于中小型页面,逻辑相对简单的情况
外部脚本:是最佳实践,适用于大多数项目,特别是需要代码复用和维护的场景

在实际开发中,应尽量采用外部脚本的方式,保持 HTML 和 JavaScript 代码的分离,提高代码的可维护性和复用性。

相关文章
|
XML 缓存 运维
springboot注解(全)
springboot注解(全)
840 0
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
492 5
|
9月前
|
JavaScript 前端开发 UED
PDF在线预览实现:如何使用vue-pdf-embed实现前端PDF在线阅读
本文详细介绍了如何在Vue项目中使用vue-pdf-embed实现PDF文件的在线展示。从项目初始化、插件集成到高级功能的实现和部署优化,希望对你有所帮助。在实际项目中,灵活运用这些技术可以大大提升用户体验和项目质量。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7905 23
|
JavaScript
vue3,使用watch监听props中的数据
【10月更文挑战第3天】
3856 2
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
11734 7
|
JavaScript API
Echarts中单独为每个legend图例设置样式-根据数据正负显示不同样式
通过上述方法,我们便能够在ECharts中根据数据的正负为每个图例项设置不同的样式,增强了图表的可读性和表现力。这种方法虽然略显间接,但不失为一种灵活的解决方案。
2048 2
|
Docker 容器
Docker安装及镜像源修改
本文介绍了Docker的安装过程和如何修改Docker镜像源以加速下载。包括更新系统包、安装所需软件包、设置yum源、安装Docker以及验证安装是否成功。接着,提供了修改Docker镜像源的步骤,包括创建配置文件、编辑配置文件以设置镜像加速地址,并提供了几个常用的国内镜像源地址。最后,通过重启Docker服务和检查配置是否生效来完成镜像源的修改。
Docker安装及镜像源修改