JS基础:js的2种基本用法,4个属性详解

你好,我是云桃桃。

一个希望帮助更多朋友快速入门 WEB 前端的程序媛。

云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集

300篇原创内容-更多前端系列内容可以go公众.h:云桃桃

后台回复“前端基础路线”可获取前端基础学习路线

后台回复“前端基础题”可得到前端基础100题汇总,持续更新中

后台回复“前端电子书”可获取20+本精选电子书

前言

今天我们来看看 <script> 标签的一些写法和属性吧。

2 种基本用法

1、内联 JavaScript:直接在 <script> 标签内部编写 JavaScript 代码。

代码如下:

<script>
  // JavaScript 代码放在这里
  document.getElementById('title').innerHTML = 'hello world!'
</script>

2、外部 JavaScript 文件:是将 JavaScript 代码存储在一个单独的文件中,然后在 HTML 文档中使用<script>标签的src属性来引入这个文件。

比如,下面的写法,引入相对路径 js 文件夹下面的 script.js 文件,外部文件的写法就是内联方式标签里的内容。

<script src="js/scirpt.js"></script>

2者相比,最好使用 src 外部引入,它的优势如下几点:

代码复用:将 JavaScript 代码存储在一个单独的文件中,可以方便地在多个页面中复用这些代码。

代码维护:将 JavaScript 代码存储在一个单独的文件中,可以方便地进行代码的维护和修改。

提高性能:将 JavaScript 代码存储在一个单独的文件中,可以提高页面的加载速度。

需要注意的是,<script> 标签可以放在 HTML 文档的任何位置,但是为了保证代码的可读性和可维护性,最好将<script>标签放在<body>标签的底部,或者放在<head>标签中。

接下来,我们来看看它的 4 个属性。

4 个属性

一、 src:指定外部 JavaScript 文件的路径。

路径有相对路径和绝对路径两种。

(1)相对路径。是指相对于当前 HTML 文档的路径,也最为常见,它的写法有3种,比如:

  • ./:表示当前目录,不写这个也表示当前目录。

  • ../:表示上一级目录。

  • /:表示根目录。

(2)绝对路径。是指从根目录开始的完整路径。绝对路径的写法是/path/to/file.js,其中path/to/file.js是要引入的 JavaScript 文件的完整路径。

其实这个路径,我们和前面超链接HTML基础:超链接那篇文的写法是一样的,可以看看。

那在外部引入 JavaScript 文件时,最好用哪种呢?我认为最好是使用相对路径,它有以下几个好处:

  • 可移植性:相对路径是相对于当前 HTML 文件的位置,而不是固定的绝对路径。这意味着,如果你将整个项目移动到其他位置或服务器上,相对路径仍然有效,而无需修改 JavaScript 文件的路径。这样可以提高项目的可移植性,使其更容易在不同环境中运行。

  • 简洁性:相对路径通常比绝对路径更简洁,因为它们不包含完整的文件系统路径。这使得代码更易于阅读和理解,尤其是在项目结构复杂的情况下。

  • 避免依赖于特定的服务器配置:绝对路径可能会受到服务器配置的影响,例如服务器的根目录位置或虚拟主机设置。使用相对路径可以避免这种依赖,确保代码在不同的服务器环境中都能正常工作。

  • 团队协作方便:在团队开发中,使用相对路径可以减少因为文件路径不一致而导致的问题。

然而,在某些情况下,绝对路径可能也是合适的,例如:

  • 如果 JavaScript 文件位于与 HTML 文件不同的域名或服务器上,那么必须使用绝对路径。

  • 如果你希望在不同的网站或项目中共享相同的 JavaScript 文件,并且这些网站或项目的根目录位置不同,那么使用绝对路径可能更方便。

总的来说,在大多数情况下,使用相对路径是一个更好的选择。但具体使用哪种路径方式,还需要根据实际情况来决定。

二、 type:指定脚本的 MIME 类型,默认为 text/javascript。所以,基础学习中,我们不写 type 也没问题。

<script type="text/javascript">  // 不写type属性也可以
  // JavaScript 代码放在这里
</script>

三、 async:表示脚本将异步加载,浏览器会并行下载脚本,不阻塞页面的解析,但会阻塞文档的加载和渲染直到脚本执行完毕。

<script src="script.js" async></script>

四、 defer:表示脚本将在文档解析完成后,且在 DOMContentLoaded 事件触发前执行。多个带有 defer 属性的脚本会按照它们在文档中出现的顺序执行。适用于脚本依赖于文档的解析,并且希望在文档解析完成后再执行脚本。

那假设你有一个外部 JavaScript 文件 app.js,你想在文档加载完毕后再执行它,可以这样写:

<script src="app.js" defer></script>

如果你需要立即执行内联脚本,可以这样写:

<body onload="console.log('页面开始加载');">
  <!-- 页面内容 -->
  <script>
    // 页面加载时立即执行的脚本
  </script>
</body>

使用时候,需要注意以下 2 点:

  • 内联脚本应放在文档的底部,或者使用 defer 或 async 属性,以避免阻塞页面渲染。

  • 外部脚本可以放在头部(<head>),通过使用 defer 或 async 来控制脚本的加载和执行时机。

OK,本文完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/601524.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

经典的设计模式和Python示例(一)

目录 一、工厂模式&#xff08;Factory Pattern&#xff09; 二、单例模式&#xff08;Singleton Pattern&#xff09; 三、观察者模式&#xff08;Observer Pattern&#xff09; 一、工厂模式&#xff08;Factory Pattern&#xff09; 工厂模式&#xff08;Factory Pattern…

牛客网刷题 | BC79 小乐乐求和

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 小乐乐最近接触了求…

java-springboot项目添加swagger2/Knife4j,附注解

文章目录 添加依赖config工作包中新增SwaggerConfig报错注解 环境&#xff1a; jdk1.8 java8 springboot2.6.13 swagger2.9.2 添加依赖 pom.xml <!-- 添加swagger2--><dependency><groupId>io.springfox</groupId><artifactId>springfo…

函数编辑器调研及设计开发

前言&#xff1a;在产品研发中需要一款可嵌入web开发的代码及函数编辑器&#xff0c;本文从功能&#xff0c;扩展&#xff0c;外观/交互&#xff0c;维护/社区&#xff0c;兼容性&#xff0c;开源与否等方面考虑&#xff0c;进行对比筛选 1、编辑器统计数据 市面上编辑器有很…

【管理篇】如何提升管理中的沟通效率?

目录标题 管理沟通那些事如何提升沟通效率?&#x1f525;如何提升沟通技能&#xff1f; 向上沟通、员工激励和团队凝聚力提升 是管理沟通上比较难得问题 管理沟通那些事 管理沟通让技术管理者们痛苦的主因是确定性和规则性的减弱&#xff0c;不确定性的大幅度上升&#xff0c…

微软正在自主构建一个名为 MAI-1 的大型语言模型(不依赖 OpenAI)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

IDEA中向Data Sources导入sql文件

IDEA中向Data Sources导入sql文件 开篇 在学习黑马的课程时&#xff0c;时常需要向数据库中导入sql文件生成数据库表&#xff0c;每次都会忘记导入步骤&#xff0c;折腾许久&#xff0c;于是将过程记录下来。 步骤 在Database中选择你要导入的数据库源&#xff0c;如图我想…

Matlab图像中加入脉冲噪声、高斯噪声并用均值滤波、中值滤波进行滤波处理

一、脉冲噪声和高斯噪声简介 脉冲噪声和高斯噪声是两种常见的信号干扰类型&#xff0c;它们的特性和影响各不相同&#xff1a; 脉冲噪声&#xff08;Impulse Noise&#xff09;&#xff1a; 在图像中&#xff0c;脉冲噪声表现为随机出现的亮点或暗点&#xff0c;这些噪声点通常…

[开发|鸿蒙] DevEco Studio编译构建(笔记,持续更新)

构建体系 编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器…

FIFO Generate IP核使用——同步复位

在描述FIFO&#xff08;First In First Out&#xff09;或其他存储结构的同步复位&#xff08;Synchronous Reset&#xff09;功能时&#xff0c;srst&#xff08;或wr_rst/rd_rst&#xff0c;即写入和读取时钟域的同步复位信号&#xff09;仅适用于块RAM&#xff08;Block RAM…

企业为什么需要主数据管理工具?十大热门主数据管理工具盘点

主数据管理是一套综合性的策略和技术&#xff0c;用于协调和管理企业内用于识别关键业务实体&#xff08;如客户、产品、供应商和员工&#xff09;的一致性、准确性和统一性的数据。主数据管理的目的是创建一个“单一真相源”&#xff0c;确保在不同部门和系统之间共享的数据保…

AI预警未来:山体滑坡与塌方事故的潜在发现者

在科技日新月异的今天&#xff0c;人工智能&#xff08;AI&#xff09;的应用已经渗透到了我们生活的各个领域。而在防灾减灾的领域中&#xff0c;AI技术的引入无疑为我们打开了一扇新的大门。以梅大高速大埔往福建方向K11900m附近发生的路面塌方灾害为例&#xff0c;我们不禁思…

未授权访问:Redis未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、利用redis未授权写入weshell 5、利用redis未授权反弹shell 6、利用redis未授权实现免密登录 防御手段 从这篇文章开始我就要开始学习各种未授权访问的知识和相关的实操实验了&#xff0c;一共有好多篇&#xff0c;内容主…

navicat premium16.3.9重置

软件下载 官网地址&#xff1a;https://navicat.com.cn/products/ # 准备脚本 1、建一个txt 2、复制以下代码 3、修改文件格式为bat 4、运行bat文件 5、重新打开navicat&#xff0c;试用期重置为14 经测试16.2.3以上版本均可用 echo off set dnInfo set dn2ShellFolder set r…

YOLOv8改进 | 主干篇 | 2024.5全新的移动端网络MobileNetV4改进YOLOv8(含MobileNetV4全部版本改进)

一、本文介绍 本文给大家带来的改进机制是MobileNetV4&#xff0c;其发布时间是2024.5月。MobileNetV4是一种高度优化的神经网络架构&#xff0c;专为移动设备设计。它最新的改动总结主要有两点&#xff0c;采用了通用反向瓶颈&#xff08;UIB&#xff09;和针对移动加速器优化…

用脚本写一个日期样式的字符

现在想要诸如此类样式的语句&#xff1a;&#xff08;过去三个月的&#xff09; 可以用python脚本写&#xff1a; from datetime import date, timedelta# 获取当前日期 current_date date.today()# 定义过去三个月的时间间隔 three_months_ago current_date - timedelta(da…

<网络安全>《79 概念讲解<第十二课 物联网常用协议-(远距离非蜂窝网络)-终端设备>》

协议简称全称名称内容说明ZigBee也称紫蜂低速短距离传输的无线通信协议一种高可靠的无线数传网络&#xff0c;主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑、低复杂度、快速、可靠、安全。ZigBee技术是一种新型技术&#xff0c;主要是依靠无线网络进行…

用一个故事告诉你协程到底是什么

神秘使者 “久闻Java语言跨越平台&#xff0c;框架众多&#xff0c;不过二十年功夫&#xff0c;就已晋升天下第一编程语言&#xff0c;今日一见&#xff0c;果然名不虚传呐&#xff01;” “使者先生您过奖了&#xff0c;咱们快些走&#xff0c;国王陛下已经等候多时了” 今…

电机控制系列模块解析(18)—— 位置观测器

一、简要综述 无传感器控制策略中观测器的分类&#xff0c;主要分为两类&#xff1a;基于模型的方法&#xff08;Model Based&#xff09;和基于显著性的方法&#xff08;Saliency Based&#xff09;。在此借用一张文献综述的图片&#xff0c;下面将列出下面借用图片中的各个分…

电脑(爱好者) :基础知识1 了解你的电脑

读懂cpu 您想了解关于您的电脑的信息吗&#xff1f;CPuz是一款常用的系统信息工具&#xff0c;可以提供关于CPU、主板、内存等硬件信息的详细情况。您可以下载并运行该软件&#xff0c;然后查看您的电脑硬件配置信息。 图片来源于网络 CPU-Z 简介 CPU-Z 是一款功能强大且易于使…
最新文章