第 1 章:HTML
第 2 章:CSS
第 3 章:JavaScript
第 4 章:JavaScript进阶
第 6 章:作者介绍
HTML是HyperText Markup language的缩写,中文意思的“超文本标记语言”,用于描述网页的结构和内容。由Tim Berners-Lee和Daniel Connolly于1990年创造,它使用一系列标签定义网页内容的结构和样式,如文本、图像、链接等,兼容多平台,是互联网信息展示的核心技术。
HTML中的<h>标签,全称为Heading标签,是一系列用于定义页面中标题的标签,从<h1>到<h6>共六个等级,用来给文本添加标题样式,同时也表明内容的结构层次。
在HTML中,<p>标签代表段落(Paragraph)元素,用于定义文档中的段落文本。每个<p>标签包裹的部分被视为一个独立的段落,浏览器会在段落前后自动添加垂直空白间距,以区分不同的段落。此标签是块级元素,意味着它默认独占一行并可以包含其他内联元素,如<strong>、<em>或<a>等。
在HTML中,<meta>标签是一个位于文档头部(<head>)的辅助性标签,它不包含任何可见内容,而是为文档提供元数据(meta-information)。元数据是关于数据的数据,对于<meta>标签来说,这意味着它可以用来定义页面的字符集、描述、关键词、作者、 viewport设置(影响移动设备上的页面缩放和布局)、刷新页面、版权信息等。
<meta>标签有一个核心的name属性:与之配对的content属性提供了关于文档的特定信息,如<meta name="description" content="页面描述内容">定义了页面的描述,有利于搜索引擎优化(SEO)。<meta>这里定义了keywords,别人在浏览器输入,就会发现自己的网站排在第一位。
默认是列表序号是数字自增,也可以自己定义A和a等等。
根据资源的类型判断选择何种路径,一般站外资源用绝对路径,站内资源用相对路径。
controls:显示播放控件,没有这个属性的话就没有播放的按钮。
在表单中,为了在用户添加信息时能关联或后续修改特定记录,需提交用户ID,但又不宜让用户直接操作。此时,采用<input type="hidden">字段,将ID值隐式嵌入表单中,随其他数据一并提交至服务器,确保数据关联性和完整性,过程对用户透明,简化交互同时维护数据管理的高效与安全。CSS是Cascading Style Sheets的简写,中文意思是层叠样式表,是一种设计网页外观和布局的语言,能够分离HTML内容结构与视觉表现,通过选择器 targeting HTML 元素,添加颜色、字体、布局等样式,实现网页的美化与布局控制。CSS的导入方式就是CSS代码与html代码的结合方式。他们一共有3种结合方式,分别是内嵌样式,内部样式和外部样式。当三者样式冲突时,谁选择的范围小就谁生效。
行内样式(Inline Styles):直接在HTML元素的style属性中定义CSS样式,属性值是CSS属性键值对。这个内嵌样式是html代码和css代码耦合在一起,不利于后期的维护,也不利于样式的复用,所以这种方式用得少。
内部样式表(Internal Stylesheet):在HTML文档的<head>部分使用<style>标签定义CSS规则。适用于单个页面的特定样式,不适用于多个页面共享样式。
外部样式表(External Stylesheet):通过<link>标签链接外部CSS文件。这是推荐的做法,因为它支持样式重用,易于维护和修改。
一、id命名规则:
1、不能数字开头;
2、不能使用中划线、下划线之外的符号;
3、不推荐中文;
4、尽量做到见名知意,看到名字就知道意思。
二、唯一性:
1、id命名不可以重复使用;在js中会因为id的命名冲突而导致报错;
2、每个标签只能有一组id。
伪类是CSS中的一种特殊类型,它们不直接对应于文档中的元素,而是表示元素的特定状态或位置,他就像类一样,例如:
hover是鼠标移入的意思,鼠标移动标签里面,文字发生颜色变化,鼠标不在就恢复原来的颜色。
JavaScript,一种广泛应用于网页开发的动态编程语言,用于实现交互式页面效果和构建复杂网络应用,支持事件驱动、函数式编程及面向对象编程风格。脚本通常被<script>标签包裹,比如事件监听和相应交互逻辑。JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。通过 script 标签将 JavaScript 代码引入到 HTML 中,引入的方式有两种,分别是:内部形式和外部形式。
内部形式通过 <script> 标签包裹 JavaScript 代码。
一般将 JavaScript 代码写在独立的以 .js 结尾的文件中,然后通过 script 标签的 src 属性引入。
但是const 并不意味着它引用的内容不可修改,例如:
在 JavaScript 中,let 和 var 都是用来声明变量的关键字,但它们在作用域、变量提升和块级作用域等方面有一些重要的区别。var在整个函数内都是可见的,let只在声明的代码块内有效。var会被提升到函数或者全局作用域的顶部完成初始化,在声明之前就可以访问变量,let变量声明前没有完成初始化,在变量声明之前访问会报错。
var:可以重复声明同一个变量,后面的声明会覆盖前面的声明let:在同一作用域内不能重复声明同一个变量,否则会引发错误。
执行表达式或函数,没有返回结果,出现undefined;访问数组不存在的元素,访问对象不存在的属性,出现undefined;
number类型标识的是双精度浮点小数,bigint类型标识整数。
在 JavaScript中,并不是 boolean 才能用于条件判断,你可以在 if 语句中使用【数字】、【字符串】... 作为判断条件。在JavaScript中,Function,Array,和Object都是属于引用数据类型,都被视为对象,它们共享了作为对象的基本行为,但各自针对特定的用途进行了优化:Function用于执行代码块,Array用于管理有序数据集合,而Object提供了一种灵活的结构来组织和操作数据。
函数是执行特定任务的可复用代码块,它们是构建复杂程序的基础,提供了封装、抽象和代码重用的能力。
使用Javascript请设计一个函数,接收两个参数,a和 b,a作为开始位置,b作为结束位置,计算从a +.. +b 的和。
JavaScript的Array对象是一个用于存储多个值的集合,这些值可以是任意类型,包括原始类型(如数字、字符串、布尔值)和其他对象。数组中的每个元素都有一个唯一的索引,索引从0开始。
join(separator):将数组元素连接成字符串,元素间以separator分隔。
map()方法创建一个新数组,新数组中的每个元素都是原数组中元素经过调用提供的函数处理后的结果。它不对原数组进行修改。
filter()方法创建一个新数组,新数组中的元素是通过检查原数组中符合条件的所有元素。条件由提供的函数决定,返回true的元素会被包含在新数组中。
forEach()方法对数组中的每个元素执行一次提供的函数。这个方法不会返回新数组,主要用于执行某种操作(副作用),如打印值或修改DOM等。
这三个方法都不会改变原数组,而是通过创建新数组或执行回调函数来达到处理数据的目的。1. map()用于转换数组中的每个元素,并返回一个新数组。2. filter()用于筛选数组中的元素,返回一个仅包含符合条件的新数组。3. forEach()用于对数组中的每个元素执行操作,没有返回值,主要用于遍历执行某些操作。
JavaScript中的Object是一种数据结构,用于存储键值对(key-value pairs)。几乎所有的JavaScript值(除了原始类型如数字、字符串、布尔值、null和undefined)都是对象,或者可以视为对象。
可以直接通过赋值操作给对象添加新的属性,无论使用点表示法还是括号表示法。
在JavaScript中,JSON对象与JSON字符串之间的转换是非常常见的操作,主要通过两个内建函数来完成:JSON.stringify()用于将对象转换为字符串,而JSON.parse()则用于将字符串解析回对象。
当需要将JavaScript对象转换为JSON字符串以便于传输或存储时,可以使用JSON.stringify()方法。
当接收到一个JSON格式的字符串,并且想要在JavaScript中以对象的形式使用这些数据时,可以使用JSON.parse()方法。
Browser Object Model 浏览器对象模型,允许JavaScript与浏览器对话, JavaScript 将浏览器的各个组成部分封装为对象。
3. Screen:屏幕对象,获取屏幕的框高信息;5. Location:地址栏对象,获取地址栏数据。
什么不写就不知道用户是点击确认还是取消。所以可以定义一个变量接收返回值,当用户点击确认时,返回true,点击取消时,返回false。我们根据返回值来决定是否执行后续操作。修改代码如下:再次运行,可以查看返回值true或者false。
setInterval()方法可以在每隔指定的毫秒数重复执行某个函数或表达式。这对于定时更新、动画效果或者持续检查某个条件非常有用。
setTimeout()方法允许你延迟指定的时间(以毫秒为单位)后执行某个函数或表达式。它只执行一次,而不是周期性执行。
DOM:Document Object Model 文档对象模型。就是 JavaScript 将 HTML 文档的各个组成部分封装为对象。在JavaScript中,DOM是连接网页内容与脚本语言的关键桥梁,允许开发者动态地读取、修改、创建或删除HTML元素和属性来改变网页的内容和外观,以及处理事件。
1. 节点(Node): DOM将HTML文档中的每个部分视为一个节点,包括元素节点(如<p>、<div>)、文本节点(如文本内容)、属性节点(元素的属性如src、class)以及文档本身也是一个节点(Document节点)。2. 树结构: 整个HTML文档被表示为一个节点树,从顶层的document节点开始,向下分支到各个元素节点、文本节点等。3. 访问和操作: JavaScript提供了多种方法和属性来遍历这个节点树,如getElementById、getElementsByTagname、querySelector和querySelectorAll等,以及用于修改节点的属性、内容或结构的方法,如innerHTML、appendChild、removeChild等。
JavaScript中的控制语句用于控制程序的执行流程,包括条件判断、循环迭代等。以下是几种常见的控制语句及其代码示例:
用于遍历数组,也可以是其它可迭代对象,如 Map,Set 等:
JavaScript 事件是用户或浏览器执行的特定交互动作,比如点击按钮、鼠标悬停、页面加载等,这些动作可以触发预先定义好的函数,实现动态网页的交互功能。
HTML 事件可以是浏览器行为,也可以是用户行为。如下图所示的百度注册页面,当我们用户输入完内容,百度可以自动的提示我们用户名已经存在还是可以使用。百度就是通过JavaScript事件来监听我们是否输入完成用户名的。
1、事件源:是作用于哪里的意思?可以通过CSS的选择器来定位代码块。2、事件类型:是单击左键还是右键,是鼠标移入还是移出?
需求:做三个按钮,分别是鼠标点击按钮弹窗,鼠标移入弹窗和鼠标移出弹窗。
点击事件(click):当用户点击元素时触发。
change:当表单元素(如输入框、选择框等)的值改变并且失去焦点时触发。
input:当表单元素的值发生变化时立即触发,无需失去焦点。submit:当表单提交时触发,通常用于阻止默认提交行为并执行自定义验证或异步操作。
触发时机:当元素获得焦点时触发。通常,这发生在用户通过鼠标点击或使用键盘的Tab键导航到该元素时。应用场景:可用于高亮显示用户正在交互的元素,比如改变边框颜色或背景色以指示当前焦点位置,或自动填充某些表单项。
触发时机:当元素失去焦点时触发,通常是用户通过点击页面上的其他元素或按下Tab键移至下一个可聚焦元素时。应用场景:常用于表单验证,即在用户离开输入框时立即检查输入是否有效;或者恢复元素的默认样式,移除因聚焦而产生的特殊视觉效果。
1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。
ES6中的解构赋值是对传统赋值操作的一种强力增强,它通过一种优雅而直观的方式,允许直接从数组或对象中提取数据并同时为变量赋值。这种特性基于模式匹配原理,极大地提升了代码的简洁度、可读性和易维护性。
ES6引入的模板字符串是字符串字面量的一种高级形式,采用反引号`包裹。它们不仅能够轻松创建包含换行符的多行文本,而且革新性地支持了变量和表达式的直接嵌入,无需传统的字符串拼接方式。
ES6对JavaScript的对象字面量语法进行了简化,当对象的属性名与赋给它的变量名相同时,可以省略冒号和变量名的重复,直接写变量名即可。ES6对JavaScript的对象方法进行了简化,如果方法名与变量所指向的函数同名,可以省略function关键字以及冒号,直接将函数赋值给对象的属性。
ES6引入拓展运算符(...),用于取出参数对象所有可遍历属性然后拷贝到当前对象。
5.6.1、浅拷贝
浅拷贝:可以用来快速复制一个对象,但这仅是浅拷贝,也就是说,如果原对象的属性是引用类型(如数组或另一个对象),拷贝得到的对象会共享这些引用类型的值。
合并对象:可以将多个对象的属性合并到一个新的对象中,如果有同名属性,后面的属性会覆盖前面的属性。箭头函数(Arrow Function)是ECMAScript 6(ES6)引入的一种新的函数定义方式,它提供了一种更简短、更清晰的语法来编写函数,特别适合于那些较简单、不需要自己的this上下文或者arguments对象的函数。
1. 当箭头函数没有参数或者有多个参数,要用 () 括起来;2. 当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块;3. 当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。
吴灿锦,泰伯一百零一世孙,明朝开国名将安陆侯吴复的后代,毕业于吉林财经大学;
第九届中国国际“互联网+”创新创业大赛吉林省赛区金奖项目总负责人;
第十三届“挑战杯”中国大学生创业计划大赛吉林省赛区特等奖,国家级铜奖项目总负责人;
2022年荣获吉林财经大学创业实践国家级立项第一名项目总负责人。