【前端学习】HTML+CSS+JavaScript 入门教程

前端小知识

文章目录

  • 前言
  • 1. HTML、CSS、JavaScript 的关系
  • 2. HTML
    • 2.1 什么是 HTML
    • 2.2 认识标签
    • 2.3 HTML 常见标签
      • 1)标题标签:h1 - h6
      • 2)段落标签:p
      • 3)换行标签:br
      • 4)图片标签:img
      • 5)超链接:a
      • 6)表格标签
      • 7)列表标签
      • 8)表单标签
      • 9)无语义标签
    • 案例练习
  • 3. CSS
    • 3.1 什么是 CSS
    • 3.2 基本语法
    • 3.3 引入方式
    • 3.4 CSS 选择器
    • 3.5 CSS 常见样式
      • 1)color
      • 2)font-size
      • 3)border
      • 4)width / height
      • 5)padding / margin
  • 4. JavaScript
    • 4.1 什么是 JavaScript
    • 4.2 JavaScript 快速上手
    • 4.3 引入方式
    • 4.4 基础语法
      • 1)变量
      • 2)数据类型
      • 3)运算符
    • 4.5 JavaScript 对象
      • 1)数组
      • 2)函数
      • 3)对象
    • 4.6 jQuery
  • 结语


前言

在学习开发后端项目的过程中,难免会涉及到前后端的交互设计。因此,本篇博客是对前端基础知识的简单入门,会对 HTML、CSS、JavaScript 进行简单地介绍,需要深入学习的建议查阅以下参考资料文档

使用工具:VS code

参考资料: MDN web docs 、W3school


1. HTML、CSS、JavaScript 的关系

打开 CSND 网址,我们能看到很多信息:各种头条资讯、博客、顶部的导航栏、账号、搜索栏等等,使用鼠标去点击它们,能打开新网页、能搜索资料、能发布博客……

image-20241015125926187

这一切的一切,都是它们的功劳;HTML,CSS,和 JavaScript 是构建现代网页和 Web 应用的三大核心技术,被称为 “前端三件套”

  • HTML(Hyper Text Markup Language)是网页内容的标准标记语言,用于定义网页的结构和内容
  • CSS(Cascading Style Sheets)用于设置HTML元素的样式,包括布局、颜色、字体和动画等
  • JavaScript 是一种脚本编程语言,用于实现网页的交互性,控制网页的行为

简单概括一下:我们可以认为 HTML 是网页的结构,CSS 是网页的表现,JavaScript 是网页的行为

业界也对它们有一个形象的比喻:HTML 是骨,CSS 是皮,JavaScript 是魂

image-20241015133934678

接下来,让我们对它们逐个进行介绍吧~


2. HTML

2.1 什么是 HTML

HTML:全称 Hyper Text Markup Language,超文本标记语言。它并不是一种语言,而是一种用于定义网页内容结构的标记语言

超文本:指连接单个网站内或多个网站间的网页的链接

标记语言:由一个个标记构成的语言。标记可以用来注明文本、图片和其他内容,比如 <h1> 就是一个标签,它表示一级标题

演示:打开 VS code,创建一个 .html 文件,输入 “!” 并回车,就可以快速创建一个代码模板

image-20241015141531558

此处模板的内容先不细讲,只是先简单演示一下效果。我们先把代码写在 <body> </body> 中

    <h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5>五级标题</h5><h6>六级标题</h6>

然后按 Ctrl + S 保存代码(每次修改代码后都要记得保存),接着找到文件路径,点击打开 .html

image-20241015142122664

最后我们就能得到这样的效果

image-20241015142421670

而上面的 <h1> <h2> <h3>……就是我们要学习的标签

嫌麻烦的话也可以在 W3school 上使用在线编辑器


2.2 认识标签

HTML 的代码是由 “标签” 构成的

    <h1>一级标题</h1>
  • 标签名(body)放到 < > 中
  • 大部分标签成对出现,<h1> 是开始标签,</h1> 是结束标签
  • 少部分标签但单独出现,比如 <br>
  • 开始标签和结束标签之间写的就是标签的内容
  • 开始标签中可能带有属性,如 styleid 等等,它们可以给标签加上一些特性(后面会讲到)

现在我们再回头来看看刚才创建的 HTML 文件,它的基本结构如下:

<html><head><title>第一个页面</title></head><body>Hello HTML</body>
</html>
  • html 标签是整个文件的根标签
  • head 标签中一般写页面的整体属性,如字符集,页面图标,页面名称
  • body 标签中写的是页面展示的具体属性,如文字,图片,按钮
  • title 标签就是页面的名称

(关于 <!DOCTYPE>,<meta> 标签在这里就不详细介绍了)

标签的层次结构

分为两种:①父子关系 ②兄弟关系

<html lang="en"><head><title>第一个页面</title>
</head><body>Hello HTML
</body></html>

在上面的代码中,我们通过各标签的内容就可以看出:

  • html 是 head 和 body 的父标签
  • head 是 title 的父标签
  • head 和 body 是兄弟标签

(VS code 中可以按 Alt + Shift + F 就可以自动格式化代码)

在浏览器中,我们可以按 F12 或者右键选“检查”开启开发者工具,点击上面”元素“,就可以看到页面的结构细节

image-20241015153925475


2.3 HTML 常见标签

1)标题标签:h1 - h6

从 h1-h6,数字越大,则字体越小

    <h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5>五级标题</h5><h6>六级标题</h6>
  • 开始标签和结束标签都不能省略
  • 尽量不要跳过一个或多个标题级别,按 h1 到 h6 的顺序使用

2)段落标签:p

在 HTML 中,段落、换行符、空格都会失效,当我们需要将文字分段落时,就得使用 p 标签

<p>第一段</p>
<p>第二段</p>
<p>第三段</p>
  • p 标签的段落前面没有缩进(得依靠 CSS 实现)
  • 它会自动根据浏览器来进行排版
  • p 标签的内容是块级元素
  • 在 p 标签中使用换行是无效的,换行或者输入多个空格只想当于一个空格

3)换行标签:br

br 标签可以实现换行:

    <p>我是一个段落我是一个段落我是一个段落<br>我还是一个段落</p>

image-20241015161309451

  • br 是一个单标签
  • br 标签跟在文本后面,表示以这文本结尾再起一行

要区分好 p 标签和 br 标签,它们的行间空隙是不一样的

image-20241015161906192


4)图片标签:img

img 标签中 src 属性是必须的,它包含了你想嵌入的图片的路径;alt 属性不是强制性的,它包含一条对图像的文本描述,如果出现因为网络问题导致图片加载不出来,浏览器就会显示 alt 的备用文本,来提示用户

    <img src="" alt="">

我们可以在 src 中放同级目录下图片的文件名,也可以放网络图片的 url

image-20241015163418293

如果我们想要修改图片显示的样式,如宽度,高度或者边框,就可以在 img 标签里面继续添加:

  • width/height:设置宽度和高度(一般只修改一个就行,它会自动等比例缩放的)
  • border:边框,一般是 CSS 来设置的
    <img src="14&v2t.jpg" alt="" width="500px" border="5px">

image-20241015164354647

既然讲到属性,那我们也简单介绍一下属性的规则:

  • 属性使用键值对的格式来表示,一个标签可以有多个属性,属性之间用空格分隔,不分顺序

对于 src,我们可以使用相对路径,绝对路径,以及网络路径(url)


5)超链接:a

可以通过 href 属性创建通向其他网页、文件、电子邮件地址、同一页面内的位置或任何其他 URL 的超链接

    <a href="https://www.baidu.com" target="_blank">百度</a></body>
  • href 必须具备,里面可以是各种超链接
  • target 表示打开方式,默认是 _self,本窗口打开,_blank 表示新窗口打开
  • 中间的内容则是显示的文字

链接的几种形式

  1. 外部链接:引用其他网站的地址

  2. 内部链接:网站内部页面之间的链接,可以使用相对路径

        <!-- test.html 和 test.zip 都是同一目录下的文件 --><a href="test.html" target="_blank">跳转到test1</a><a href="test.zip">下载test.zip</a> 
    
  3. 空链接:在 href 中使用 # 占位,等待后续填充

        <a href="#">空链接</a> 
    

6)表格标签

table,tr,td 是配套使用的

标签说明
table表示整个表格
tr表示表格的一行
td表示普通单元格
th表示表头单元格

如果我们想构建一个两行三列的表格,得使用上面这三个标签

    <!-- 可以写 table>tr*2>td*3 快速生成--><table><tr><td>aaa</td><td>bbb</td><td>ccc</td></tr><tr><td>ddd</td><td>eee</td><td>fff</td></tr></table>

保存一下代码,刷新网页看一下

image-20241016001103973

奇了怪了,为什么它没有显示表格的边框?哎,这就需要使用 CSS 来设置了

以下属性需要放到 table 标签中

  • border:表示边框,”“表示没边框,我们这里没写,它就默认没边框
  • align:指定了包含在文档中的表格必须如何对齐。align=“center” 可以让表格在文档中居中
  • cellpadding:内容到边框的距离,默认 1px
  • cellspacing:单元格之间的距离,默认 2px(可以置为 0 来防止边框出现空隙)

想要使表格内文字上下左右居中的可以自行查阅 text-align 和 vertical-align

    <table border="1px" align="center" cellpadding="3px" cellspacing="0px"><tr><td>aaa</td><td>bbb</td><td>ccc</td></tr><tr><td>ddd</td><td>eee</td><td>fff</td></tr></table>

效果如下:

image-20241015213033590


7)列表标签

标签说明
ol有序列表(order list)
ul无序列表(unorder list)
li定义列表项
  • 有序列表:ol 和 li 搭配使用

  • 无序列表:ul 和 li 搭配使用

image-20241016012234021


8)表单标签

表单是一种允许用户输入数据并将其发送到服务器的元素,我们在页面的输入很多都是由表单标签来控制的,比如文本框,复选框,按钮,下拉菜单等等

表单标签分为两个部分:

  • 表单控件:input 标签,用于创建不同类型的输入控件,如文本框、密码框、单选按钮、复选框等
  • 表单域:form标签,定义表单的开始,包含表单元素的区域

input 标签:它的功能取决于 type 属性,取值类型有很多,text、button、checkbox、file 等等,若未指定此属性,则采用默认类型 text

其余常见的属性如下:

  • name:定义 input 的名称,它可以在表单提交时标识数据
  • id:定义 input 的唯一 id,方便 CSS 设置样式
  • value:定义 input 的值,也就是提交的实际数据
  • checked:用来判断控件是否选中

下面介绍一些常见的 input 类型:(VS code 里 input 有很多提示)

image-20241016001324102

  1. 文本框:

        账号<input type="text" name="" id=""><br>
    
  2. 密码框:

        密码<input type="password" name="" id=""><br>
    
  3. 单选框:必须具备相同的 name 属性,才能达到 多选一 的效果;checked 属性表示默认选择该项

        单选<input type="radio" name="gender1" id=""><input type="radio" name="gender1" id=""><br>单选<input type="radio" name="gender2" id="" checked="checked"><input type="radio" name="gender2" id=""><br>
    
  4. 复选框:

        多选<input type="checkbox" name="" id=""><input type="checkbox" name="" id=""><br>
    
  5. 普通按钮:οnclick=“alert(‘hello~~~’)” 可以实现点击后浏览器弹出提示框

        按钮<input type="button" value="我是按钮" onclick="alert('hello~~~')">
    

以下是简单的演示效果:

image-20241016005913490


select 标签:用于创建下拉列表,它允许用户从多个选项中选择一个。select 元素通常与 option 元素一起使用,option 元素定义了下拉列表中的每个选项

创建一个城市选择列表

    下拉菜单 <select name="city" id="city"><option value="beijing">北京</option><option value="shanghai">上海</option><option value="guangzhou">广州</option><option value="shenzhen">深圳</option></select>

每个 option 元素都有一个 value 属性,这个属性的值是当表单提交时发送到服务器的数据。没错,select 标签也是表单控件

image-20241017083044079

在 option 中也可以定义 selected = “selected”,表示默认选中该项


textarea 标签:用于创建一个多行文本输入控件,这允许我们输入一段文本,比如评论、反馈等,通常用于需要用户输入较多文本的场合

    <textarea name="comment" rows="4" cols="50">在这里输入评论...</textarea>
  • rows 属性定义了文本区域的行数,cols 属性定义了文本区域的列数

form 标签

该标签用于创建一个表单,允许用户输入数据,比如文本、数字、日期等,并将这些数据发送到服务器。我们上面创建的 input 标签,在输入信息后,就是通过 form 标签传给服务器的。在此之前,我们还要介绍一个提交按钮(input 标签)

提交按钮:提交按钮必须放到 form 标签里,点击后就会尝试给服务器发送请求

    <input type="submit" value="提交按钮">

表单域:也就是 form 标签,它通常会有两个属性

  • action 属性指定了表单提交时的目标 URL,当我们点击提交按钮时,表单的数据会被发送到这个 URL
  • method属性定义了提交表单时使用的 HTTP 方法,常见的方法有 GET 和 POST
    <form action="demo1.html" method="get"><input type="submit" value="提交按钮"></form>

页面跳转


9)无语义标签

div 标签:定义了一个文档中的分区,用于创建布局的块级容器。div 元素是一个块级元素,通常会在页面上占据一整行

span 标签:标签用于对文档中的小块文本进行分组,它是一个内联元素,只会占据其内容所需的空间

它们两个是非常基础且重要的标签,通常用于对文档内容进行分组和应用样式。我们可以把它们想象成一个大盒子和一个小盒子,当我们要想设计网页上的元素和布局,需要先选中元素,再进行设计元素的样式和行为。而 div 和 span 就可以起到一个盒子的作用,把其余标签装在里面,就能方便我们选中它们再进行其他设计

    <div>我是块级元素</div><div>我是块级元素</div><span>我是内联元素</span><span>我是内联元素</span>

div和span


案例练习

用户注册界面

<html>
<head><title>用户注册</title>
</head>
<body><h1>用户注册</h1><form action=""><table><tr><td>用户名</td><td><input type="text" name="userName" id="" placeholder="请输入用户名"></td></tr><tr><td>手机号</td><td><input type="text" name="phoneNumber" id="" placeholder="请输入手机号"></td></tr><tr><td>密码</td><td><input type="password" name="password" id="" placeholder="请输入密码"></td></tr><tr><td>确认密码</td><td><input type="password" name="password" id="" placeholder="再次输入密码"></td></tr></table><br><div><input type="button" value="注册"><span>已有账号</span><a href="#">登录</a></div></form>
</body>
</html>

效果展示

image-20241017122257962

这样,一个简易的用户注册界面就完成了。但是这个界面的样式十分单调,一点设计美感都没有,要想它变得好看,就需要 CSS 来帮忙啦~


3. CSS

3.1 什么是 CSS

CSS:全称 Cascading Style Sheets,层叠样式表。它是一种用于描述 HTML 或 XML 文档的表现形式的语言,常用于设置网页的布局、颜色、字体以及其他视觉和排版效果,能够做到页面的样式和结构分离

我们上面使用到的字体大小设计其实就是 CSS 的功劳,除此之外,CSS 还能改变文字的颜色

    <h1 style="color: red;">一级标题</h1>

image-20241018003620586


3.2 基本语法

选择器 + { 属性: 属性值 }

  • 选择器:指定要样式化的 html 元素
  • 属性:定义要改变的样式特性,可以控制元素的外观和布局
  • 属性值:指定属性的具体设置
  • 属性和属性值是键值对,用冒号:分开,键值对之间用分号;
    <style>p {/* 设置颜色 */color: red;}</style><p>hello</p>

CSS 样式通常写 style 标签中,而 style 标签可以放在页面的任何位置,我们习惯放在 head 标签里面


3.3 引入方式

CSS 有三种引入方式(当出现多种样式时,遵行就近原则)

引入方式说明示例
行内样式直接在本标签中使用 style 属性,属性值是 css 的键值对<h1 style=“color: red;”>一级标题</h1>
内部样式使用 style 标签,在标签内部定义 css 样式<style> h1 {……} <style>
外部样式使用 link 标签,通过 href 属性引入外部 css 文件<link rel=“stylesheet” href=“haha.css”>

三种引入方式的优缺点

行内样式:

  • 优点是简单直接,方便解决样式冲突问题
  • 缺点是会出现大量的代码冗余,无法复用,也不适合后期维护

内部样式:

  • 优点是可以在整个文档中复用样式规则
  • 缺点是仅限于当前文档使用,不适合多个页面共享样式

外部样式:

  • 优点是实现了 html 和 CSS 的完全分离,多个 html 文档可以共享同一个 CSS 文件,更新样式十分方便,适合企业的大型网站和应用
  • 缺点有加载时间长,缓存问题等

3.4 CSS 选择器

选择器是用来选择页面上的元素,选中了元素后才可以精准地设置元素的属性

一些常用的 CSS 选择器:(我们这里使用内部样式做演示)

  1. 标签选择器:

        <style>/* 将所有的 a 标签全部设置成红色 */a {color: red;}/* 将所有的 div 标签全部设置成绿色 */div {color: green;}</style>
    
  2. 类选择器:使用点号.

        <!-- 类名为 red,前面要加 “.” --><style>.red {color: red;}</style><p class="red">一个段落</p>
    
    • 类相当于一个标记,每一个标签都可以设置类属性
    • 一个类可以给多个标签使用,一个标签也可以设置多个类(类之间要用空格分割)
  3. id 选择器:使用井号#

        <!-- id 为 green,前面要加 “#” --><style>#green {color: green;}</style><p id="green">一个段落</p>
    
    • id 是唯一的,不能被多个标签使用(和类选择器的不同点)
  4. 通配符选择器:使用星号*

        <!-- 该页面所有的元素都会生效 -->    <style>* {color: red;}</style>
    
  5. 伪类选择器:伪类由冒号:后跟着伪类名称组成,根据不同状态显示不同的样式,常用于标签

    有四种状态:

    • link:未访问的链接
    • visited:已访问的链接
    • hover:当鼠标悬停在元素上时应用样式
    • active:当元素被激活(比如被点击)时应用样式

    使用这些伪类选择器时,通常需要按照特定的顺序来声明,这里的使用顺序为 :link,:visited,:hover,:active

        <style>    /* 未访问的链接 */a:link {color: blue;}/* 已访问的链接 */a:visited {color: purple;}/* 鼠标悬停时的链接 */a:hover {color: red;}/* 鼠标点击时的链接 */a:active {color: green;}</style>
    
  6. 复合选择器:上面几种选择器都可以任意组合,数量不限,组合方式也不限

    • 选择器用空格间隔,表示选择某元素后代的所有元素
        <style>tr td {color: red;}</style>
    
    • 选择器用小于号>分隔,表示只选择某元素的相邻后代的元素
        <!-- 不是相邻后代,因此不生效 -->    <style>table>td {color: red;}</style>
    
    • 选择器用逗号,分隔,表示取选择器的并集,即所有选择器都生效
        <!-- a 标签和类为 red 的标签都生效 --><style>a,.red {color: red;}</style>
    
    • 选择器之间没有间隔,表示取选择器的交集,即满足所有选择器才会生效
    	<!-- 既是 a 标签,类又为 red 的标签才生效 --><style>a.red {color: red;}</style>
    

3.5 CSS 常见样式

设置一个标签,接下来的所有样式都为 id 选择器(此处的演示省略了 style 标签

    <div id="demo">我是 div 盒子</div>

1)color

设置字体颜色

        #demo {color: red;}
  • 可以使用英文字母,可以使用 rgb 的颜色(255,0,0),还是可以使用十六进制表示(#ff00ff)

2)font-size

设置字体大小

        #demo {font-size: 30px;}
  • 字体大小有很多单位,有 px,cm,mm,em,rem 等等,有需要的可以自行查阅

3)border

设置边框,border 又是一个复合属性,可以设置很多边框样式

       /* 边框样式,边框粗细,边框颜色 */ #demo {border: solid 1px red;}

我们也可以拆开来一个一个设置

border-width:设置边框粗细

border-style:设置边框样式。点状 dotted,实线 solid,双实线 double,虚线 dashed

border-color:设置边框颜色

       /* 等同于上面的例子 */ #demo {border-style: solid;border-width: 1px;border-color: red;}

4)width / height

width:设置宽度 height:设置高度

只有块级元素才能设置宽度和高度

块级元素独占一行,与之对应的行内元素不独占一行

常见的块级元素:h1-h6,div等

常见的行内元素:a,span等

我们也可以使用 display: block 改为块级元素(常用);display: inline 改为行内元素(不常用)

        #demo {width: 10px;height: 10px;}

5)padding / margin

padding:内边距,设置内容和边框之间的距离

margin:外边距,设置元素和元素之间的距离

都是一整圈生效的,单位为 px

image-20241018095810927

它们都是可以单独设置四个边的边框

方向paddingmargin
顶部padding-topmargin-top
底部padding-bottommargin-bottom
左边padding-leftmargin-left
右边padding-rightmargin-right

4. JavaScript

(因为是前端入门介绍,此处博主就不花大量篇幅讲解 JavaScript 了,若想详细了解可移步站内大佬的博客 学习JavaScript这一篇就够了)

4.1 什么是 JavaScript

JavaScript 是一种弱类型、解释型的编程语言。它是一种基于原型、多范式的动态脚本语言,广泛应用于网页开发中,用于增强网页的交互性、动态性,常与 HTML 和 CSS 一起使用

JavaScript 和 Java 是完全不同的语言,JavaScript 是动态类型语言,Java 是静态类型语言,但是它们在语法上有一些相似之处,比如都使用花括号{}来定义代码块,都支持类和对象的概念


4.2 JavaScript 快速上手

第一个 JS 代码

我们习惯在 body 标签中书写 js 代码

<html>
<head><title>JSdemo</title>
</head>
<body><script>alert("Hello JavaScript!");</script>
</body>
</html>

运行浏览器

image-20241018193541894


4.3 引入方式

JS 有三种引入方式

引入方式说明示例
行内样式直接在写在 html 元素内部<input type=“button” value=“点击” οnclick=“alert(“haha”)”>
内部样式使用 script 标签,写在标签内部<script>alert(“haha”)</script>
外部样式使用 script 标签,通过 src 属性引入外部 js 文件<script src=“haha.js”></script>

三种引入方式的优缺点

行内样式

  • 优点:适用于少量简单的交互操作,不需要额外的外部文件,简单快捷
  • 缺点:可读性差,代码难以维护和重用

内部样式

  • 优点:代码较为集中,与页面结构的实现代码耦合度较低,比较便于维护。
  • 缺点:随着项目复杂度增加,内部脚本会导致 HTML 与 JavaScript 代码交织在一起,可读性差,难以维护

外部样式:

  • 优点:页面代码与 JavaScript 代码实现有效分离,降低耦合度。便于代码的维护和扩展;有利于代码的复用,多个页面可以共享同一个外部脚本文件;可以利用浏览器缓存提高速度
  • 缺点:需要单独加载外部脚本文件,增加了额外的网络请求,在初次加载时可能会有一定的延迟

4.4 基础语法

1)变量

关键字说明
var早期声明变量的关键字,拥有函数作用域。使用 var 多次声明同一个变量,后面的声明会覆盖前面的变量值
let拥有块级作用域,只在它被声明的代码块内有效。在同一个作用域内,不能重复声明同一个变量
const和 let 类似,但创建时必须初始化,且一旦被赋值后,其值不能被改变

我们前面说到,JavaScript 是一门动态弱类型语言,意思是变量可以存放不同类型的值,而随着程序的运行,变量的类型也可以发生变化

	var a = 10; //数字a = "haha"; //字符串

要注意,IE10 及以下的版本不支持 let 和 const 关键字

我们此处对它们也只是简单介绍,后续的代码环节统一采用 var 进行演示


2)数据类型

JavaScript 是一种动态类型语言,这意味着我们不需要显式声明变量的类型,类型会在代码执行时根据赋给变量的值自动确定

我们这里简单介绍几种数据类型

数据类型说明
number表示整数或浮点数
string示文本数据,由字符组成的序列(单双引号都可以)
boolean逻辑类型,只有 true 和 false
undefined表示变量声明了但未初始化,即没有赋予具体的值

我们可以使用 console.log(typeof 变量) 来查看变量的数据类型

    <script>var a = 10;console.log(typeof a);var b = "hello";console.log(typeof b);var c = true;console.log(typeof c);var dconsole.log(typeof d);</script>

使用浏览器运行,按 F12,选择控制台

image-20241018203631329


3)运算符

跟 Java 基本相同,在比较运算符中,JavaScript 多了个===,它是用来比较值和类型是否相等,而==仅仅只比较数值是否相等

    <script> var age = 20;var age1 = "20";console.log(age == age1);console.log(age === age1);</script>

image-20241018204028121


4.5 JavaScript 对象

1)数组

创建数组

        var arr1 = new Array(1,2,3);var arr2 = [];var arr3 = [1, "haha", true];

和 Java不同,JS 的数组可以是不同类型的元素

操作数组

    <script>var arr1 = [1, 20, "30", true];console.log(arr1);//读取元素console.log(arr1[1]);console.log(arr1[2]);console.log(arr1[5]);//新增元素arr1[5] = 40;arr1[-1] = 10;arr1["hello"] = 1;console.log(arr1);//修改元素arr1[4] = "50";console.log(arr1);//删除元素arr1.splice(1, 1); //从下标 1 开始删,删除 1 个元素console.log(arr1);</script>

我们来观察一下控制台

image-20241018205826284

  • 如果超出下标范围读取元素,结果为 undefined
  • 如果直接给数组名赋值,数组中的元素都会消失

2)函数

语法格式

    function 函数名(形参列表) {函数体return 返回值;}

举个例子:两数相加

    function add(x, y) {return x+y;}var sum = add(10, 20);console.log(sum);
  • 函数需要调用才能生效,单纯定义但不调用,函数就不会执行函数体
  • 函数可以先使用后定义,先后顺序没有要求
  • 形参和实参的个数可以不匹配:
    若实参的个数比形参多,则多出来的实参会被省略
    若实参的个数比形参少,那多出来的形参的值就为 undefined

我们也可以使用匿名函数来定义函数(类似匿名内部类)

此处的 add 是计算数组总和的函数

        var add = function () {var sum = 0;for (var i = 0; i < arguments.length; i++) {sum += arguments[i]; }return sum;}var a = add(10,20,30);console.log(a); //60

3)对象

使用字面量创建对象(最常用)

    var people = {name: "张三",age: 20,study: function() {console.log("学习");}};
  • 属性和方法使用键值对的形式来组织
  • 键值对之间用逗号,分隔
  • 键和值之间用冒号:分隔

访问对象的属性和方法

        console.log(people.name);console.log(people["age"]); //属性需要加上引号people.study(); 

除了使用字面量创建对象外,还有使用 new Object 和构造函数来创建对象,此处就不再介绍了


4.6 jQuery

如果仅仅掌握上面的 JavaScript 知识,远远不足以支撑我们设计一个网页,更何况 JavaScript 还有很多复杂的 API。因此,我们可以使用 jQuery 来帮助我们操作网页对象

jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,旨在简化 HTML 文档遍历、事件处理、动画以及 Ajax 交互,熟练掌握它可以减少很多代码工作量,提高我们的开发效率

引入依赖

在使用 jQuery 之前,我们需要引入对应的库

我们可以使用 script 标签引入依赖:

方法一:直接引入网址

	<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

方法二(推荐):在官网 jQuery CDN 下载最新版的 minified 版本文件,保存在 html 文档的同级目录下,直接引用

    <script src="jquery-3.7.1.min.js"></script>

快速使用

<html>
<head><title>jQuery</title>
</head><body><script src="jquery-3.7.1.min.js"></script><script>$(function () {// jQuery代码alert('Hello jQuery!');});</script>
</body>
</html>

基本语法

	$(selector).action()
  • $()是 jQuery 的核心函数,它用于选择和操作 html 的元素
  • selector 是选择器,用来选择页面上的元素
  • action( ) 执行对元素的操作

我们习惯把 jQuery 的代码放在 document ready 函数中,这样就可以让文档加载完成后才运行 jQuery 代码

        $(document).ready(function() {//jQuery 代码});//简写$(function() {//jQuery 代码});
    <button type="button">消失的按钮</button><script src="jquery-3.7.1.min.js"></script><script>$(document).ready(function() {$("button").click(function() {$(this).hide();});});</script>


常见的选择器

选择器选择说明
$(“*”)所有元素
$(“this”)当前 html 元素
$(“a”)所有 a 标签
$(“a:first”)第一个 a 标签
$(“a:last”)最后一个 a 标签
$(“.red”)所有 class=“red” 的元素
$(“#red”)id=“red” 的元素
$(“:input”)所有 input 元素
$(“:text”)所有 input 标签 type=“text” 的元素

操作元素

1)获取/设置元素内容

方法说明
text()设置或者返回元素的文本内容
html()设置或者返回元素的内容(html 标签)
val()设置或者返回表单字段的值

没有参数时,就返回元素的内容;有参数时,就是设置元素

2)获取/设置元素属性

attr() 方法用于获取属性值

    <script src="jquery-3.7.1.min.js"></script><a href="https://www.baidu.com">百度</a><script>$(function() {var href = $("a").attr("href");console.log(href);})</script>

image-20241020154144541

attr() 方法设置属性值

    <script src="jquery-3.7.1.min.js"></script><a href="https://www.baidu.com">百度</a><script>$(function() {$("a").attr("href","https://cn.bing.com/");console.log($("a").attr("href"));})</script>

image-20241020154449940

3)获取/设置 CSS 属性

css() 方法可以获取/设置元素的 CSS 属性

	//获取属性<p style="color: red;">一个段落</p><script>$(function() {var color = $("p").css("color");console.log(color);})</script>
	//设置属性<p style="color: red;">一个段落</p><script>$(function() {$("p").css("color","green");})</script>

我们可以发现,attr 和 css 方法有一个共同之处:当方法里有参数时,是设置属性;当方法里没有参数时,是获取属性


添加元素

方法说明
prepend()在元素的开头插入内容
append()在元素的结尾插入内容
before()在元素之前插入内容
after()在元素之后插入内容
    <ol><li>第一行</li><li>第二行</li><li>第三行</li></ol><script>$(function() {$("ol").prepend("我是prepend");$("ol").append("我是append");$("ol").before("我是before");$("ol").after("我是after");})</script>

image-20241020160327989


删除元素

remove():删除元素及其子元素

empty():删除元素的子元素(被选元素还在)


结语

紧赶慢赶,终于是把这篇非常“粗糙”的博客完成了。说是简单介绍,但是想要把东西讲清楚还是得花上不少功夫,更何况还有很多重要的东西并没有提及到,像是 JavaScript 的DOM,事件,vue 框架等等

想要更加深入学习建议使用 MDN web docs ,W3school ,这两个网站十分全面,有完整的教程和在线测试工具,学习完后还可以构建自己的网站页面,非常推荐😉!

希望大家能够喜欢本篇博客,有总结不到位的地方还请多多谅解。若有纰漏,希望大佬们能够在私信或评论区指正,博主会及时改正,共同进步

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统:(Linux系统概述与安装)

硬件计算机硬件是指计算机系统中所有物理部件的总称。包括计算机主机、显示器、键盘、鼠标、内存、硬盘、处理器、主板等等。这些硬件部件是计算机系统运行的基础 不管是电脑系统(个人电脑、服务器等)、还是移动端操作系统(手机、平板等)。它的功能就是做为用户和硬件之间的桥梁…

Java配置 Redis 连接互斥锁或队列预先加载缓存

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

2024年龙信

挂载VC的密码&#xff1a;MjAyNOmmeS/oeadrw 手机取证 1. Android 设备在通过 ADB 连接时&#xff0c;通常会要求用户授权连接&#xff0c;会要求用户确认设备授权&#xff0c;并将该设备的公钥保存在 adb_keys文件中 寻找到data/misc/adb/adb_keys下面有中有两个&#xff0c;…

动态规划:17.简单多状态 dp 问题_买卖股票的最佳时机III_C++

题目链接&#xff1a; 一、题目解析 题目&#xff1a;123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 解析&#xff1a; 拿示例1举例&#xff1a; 我们可以如图所示买入卖出股票&#xff0c;以求得最大利润&#xff0c;并且交易次数不超过2次 拿示…

webpack自定义插件 ChangeScriptSrcPlugin

插件文件 class ChangeScriptSrcPlugin {apply(compiler) {const pluginName "ChangeScriptSrcPlugin";compiler.hooks.compilation.tap(pluginName, (compilation, callback) > {compilation.hooks.htmlWebpackPluginAlterAssetTags.tapAsync(pluginName,(html…

N9305高品质mp3音频语音芯片ic在早教故事机的应用方案

随着人们对教育的重视程度不断提高&#xff0c;儿童早教机已经成为了很多家庭的教育必备品。N9305音乐芯片在早教故事机中的应用&#xff0c;不仅为孩子们带来了丰富多彩的故事世界&#xff0c;还以其卓越的音质表现和功能&#xff0c;进一步提升了早教体验。 九芯电子N9305高品…

HarmonyOS Next模拟器异常问题及解决方法

1、问题1&#xff1a;Failed to get the device apiVersion. 解决方法&#xff1a;关闭模拟器清除用户数据重启

Kafka之消费者组与消费者

消费者&#xff08;Consumer&#xff09;在Kafka的体系结构中是用来负责订阅Kafka中的主题&#xff08;Topic&#xff09;&#xff0c;并从订阅的主题中拉取消息后进行处理。 与其他消息中间件不同&#xff0c;Kafka引入一个逻辑概念——消费组&#xff08;Consumer Group&…

黑马程序员Java笔记整理(day03)

1.switch 2.for与while对比 3.嵌套定义,输出的区别性 4.break与continue 5.随机数生成的两种方式 6.Random 7.随机验证码

15分钟学Go 第2天:安装Go环境

第2天&#xff1a;安装Go环境 1. 引言 在学习Go语言之前&#xff0c;首先需要配置好本地开发环境。本节将详细介绍如何在Windows 11上安装和配置Go语言环境&#xff0c;包括安装步骤、环境变量设置、VS Code配置与测试、以及常见问题解决方案。完成这些步骤后&#xff0c;你将…

【计算机网络 - 基础问题】每日 3 题(四十九)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

基于模型设计的智能平衡移动机器人-基础实验SCI

目录 SCI通信 模型搭建 串口测试 实验结果 SCI通信 简单来说就是信号的传递。 SCI&#xff08;Serial Communication Interface)意为“串行通信接口”&#xff0c;是相对于并行通信的&#xff0c;是串行通信技术的一种总称&#xff0c;最早由Motorola公司提出的。它是一…

Web Storage:数据储存机制

前言 在HTML5之前&#xff0c;开发人员一般是通过使用Cookie在客户端保存一些简单的信息的。在HTML5发布后&#xff0c;提供了一种新的客户端本地保存数据的方法&#xff0c;那就是Web Storage&#xff0c;它也被分为&#xff1a;LocalStorage和SessionStorage&#xff0c;它允…

【QT】常用控件(三)

个人主页~ 常用控件&#xff08;一&#xff09;~ 常用控件&#xff08;二&#xff09;~ QT中其他线程是改变不了GUI上的内容的&#xff0c;只有主线程可以 常用控件 四、显示类控件2、LCD Number3、ProgressBar4、Calendar Widget 五、输入类控件1、Line Edit正则表达式 2、Te…

【数据处理】大数据入门

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;软件开发必备知识_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

UE小:UE5的Pixelstreaming在捕获画面的时候没办法显示非Viewport的Slate区域按钮的ToolTip

原始代码 首先&#xff0c;让我们看看原始代码片段&#xff1a; // Some widgets might want to provide an alternative Tooltip Handler. if (bCanSpawnNewTooltip || !NewTooltip) {TSharedPtr<SWidget> NewTooltipWidget NewTooltip ? NewTooltip->AsWidget()…

[含文档+PPT+源码等]精品基于springboot实现的原生微信小程序小区兼职系统

基于Spring Boot实现的原生微信小程序小区兼职系统背景&#xff0c;可以从以下几个方面进行阐述&#xff1a; 一、技术背景 移动互联网的普及&#xff1a;随着移动互联网的快速发展&#xff0c;微信小程序作为一种轻量级应用&#xff0c;因其无需下载安装、即用即走的特点&am…

【Next.js 项目实战系列】02-创建 Issue

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】01-创建项目 创建 Issue 配置 MySQL 与 Prisma​ 在数据库中可以找到相关内容&…

Greenhills学习总结

学习背景&#xff1a;近期参与xx项目过程中&#xff0c;遇到较多的关于代码集成编译的知识盲区&#xff0c;因此需要进行相关知识的学习和扫盲。 参考资料&#xff1a;GreenHills2017.7编译手册:本手册是GreenHills 2017.7.14版编译器的软件使用手册。该手册详细介绍了GreenHi…

数学中的直觉、联想和抽象漫谈

数学中的直觉、联想和抽象漫谈 直觉、联想和抽象不是孤立存在的&#xff0c;而是相互交织、共同作用的。构成了我们认知理解世界的不可或缺的三种能力。我们应该重视并培养这些思维能力&#xff0c;以更好地适应不断变化的世界。 在数学的世界里&#xff0c;直觉、联想和抽象是…