JavaScript基础大总结

  • JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)
  • 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行
  • 现在也可以基于 Node.js 技术进行服务器端编程

浏览器分成两部分:渲染引擎和 JS 引擎

  • 渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkit
  • JS 引擎:也称为 JS 解释器。 用来读取网页中的JavaScript代码,对其处理后运行,比如 chrome 浏览器的 V8

浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。

JavaScript 包括 ECMAScriptDOMBOM

ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。

ECMAScript:ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。

BOM (Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

  1. 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如: onclink
  2. 注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
  3. 可读性差,在 HTML 中编入 JS 大量代码时,不方便阅读
  4. 特殊情况下使用
  • 可以将多行JS代码写到<script>标签中
  • 内嵌 JS 是学习时常用的方式
  1. 利于HTML页面代码结构化,把单独JS代码独立到HTML页面之外,既美观,又方便
  2. 引用外部JS文件的script标签中间不可以写代码
  3. 适合于JS代码量比较大的情况
  • 快捷键ctrl + /
  • 快捷键 shift + alt + a
  • vscode中修改快捷键方式:vscode➡ 首选项按钮➡ 键盘快捷方式 ➡ 查找原来的快捷键➡ 修改为新的快捷键➡ 回车确认
  • alert() 主要用来显示消息给用户
  • console.log() 用来给程序员看自己运行时的消息
  • 变量是用于存放数据的容器,我们通过变量名获取数据,甚至数据可以修改
  • 本质:变量是程序在内存中申请的一块用来存放数据的空间
  1. var是一个JS关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间。
  2. age 是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间
  1. 由字母(A-Z,a-z),数字(0-9),下划线(_),美元符号($)组成,如:usrAge,num01,__name
  2. 严格区分大小写。 var app; 和 var App; 是两个变量
  3. 不能以数字开头。
  4. 不能是关键字,保留字。例如:var,for,while
  5. 遵循驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName
  6. 推荐翻译网站:有道 爱词霸

JavaScript **是一种弱类型或者说动态语言。**这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。

  • 在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型。
  • JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型

JS 把数据类型分为两类:

  • 基本数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(Object)

JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)。

最常见的进制有二进制、八进制、十进制、十六进制。

  • 在JS中八进制前面加0,十六进制前面加 0x
  • JS中数值的最大值:Number.MAX_VALUE
  • JS中数值的最小值:Number.MIN_VALUE
  • Infinity ,代表无穷大,大于任何数值
  • -Infinity ,代表无穷小,小于任何数值
  • Nan ,Not a Number,代表一个非数值

这个方法用来判断非数字,并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true

字符串型可以是引号中的任意文本,其语法为 “双引号” 和 \”单引号’’

因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号

JS可以用 单引号嵌套双引号,或者用 双引号嵌套单引号外双内单,外单内双

类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。

转义符都是 \\ 开头的,常用的转义符及其说明如下:

字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。

  • 多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
  • 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串

注意:字符串 + 任何类型 =拼接之后的新字符串

  • + 号总结口诀:数值相加,字符相连

⑤字符串拼接加强

  • 我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值
  • 变量是不能添加引号的,因为加引号的变量会变成字符串
  • 如果变量两侧都有字符串拼接,口诀==“引引加加 ”,删掉数字==变量写加中间
  • 布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
  • 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
  • 一个声明后没有被赋值的变量会有一个默认值 undefined ( 如果进行相连或者相加时,注意结果)

1.undefined 和 字符串 相加,会拼接字符串

2.undefined 和 数字相加,最后结果是NaN

  • 一个声明变量给 null 值,里面存的值为空
  • typeof 可用来获取检测变量的数据类型

不同类型的返回值

字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。

  • 数字字面量:8,9,10
  • 字符串字面量:‘大前端’,‘后端’
  • 布尔字面量:true、false

通过控制台的颜色判断属于哪种数据类型

使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型

我们通常会实现3种方式的转换:

  • 转换为字符串类型
  • 转换为数字型
  • 转换为布尔型
  • toString()String() 使用方式不一样
  • 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一方式也称为隐士转换

1.注意 parseInt 和 parseFloat ,这两个是重点

2.隐式转换是我们在进行算数运算的时候,JS自动转换了数据类型

  • 代表空,否定的值会被转换为false,如 ’ ’ , 0, NaN , null , undefined
  • 其余的值都会被被转换为true

运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号

JavaScript 中常用的运算符有:

  • 算数运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符

概念:算术运算使用的符号,用于执行两个变量或值的算术运算。

浮点数值的最高精度是17位小数,但在进行算数计算时其精确度远远不如整数

所以不要直接判断两个浮点数是否相等

递增(++)

递减(- -)

放在变量前面时,我们称为前置递增(递减)运算符

放在变量后面时,我们称为后置递增(递减)运算符

注意:递增和递减运算符必须和变量配合使用。

++num num = num + 1

使用口诀:先自加,后返回值

先自加 10+1=11,返回11,此时num=11

num ++ num = num +1

使用口诀:先返回原值,后自加

  • 前置递增和后置递增运算符可以简化代码的编写,让变量的值 + 1 比以前写法更简单
  • 单独使用时,运行结果相同,与其他代码联用时,执行结果会不同
  • 开发时,大多使用后置递增/减,并且代码独占一行

比较运算符是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值

逻辑与:两边都是 true才返回 true,否则返回 false

逻辑或:两边都为 false 才返回 false,否则都为true

逻辑非:逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值

  • 语法:表达式1 && 表达式2
  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1
  • 语法:表达式1 || 表达式2
  • 如果第一个表达式的值为真,则返回表达式1
  • 如果第一个表达式的值为假,则返回表达式2

概念:用来把数据赋值给变量的运算符。

1.一元运算符里面的逻辑非优先级很高

2.逻辑与逻辑或 优先级高

3.练习题

流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序

JS 语言提供了两种分支结构语句:JS 语句 switch语句

案例:进入网吧

弹出一个输入框,要求用户输入年龄,如果年龄大于等于 18 岁,允许进网吧

案例:判断闰年

接收用户输入的年份,如果是闰年就弹出闰年,否则弹出是平年

算法:能被4整除且不能整除100的为闰年(如2004年就是闰年,1901年不是闰年)或者能够被 400 整除的就是闰年

案例:接收用户输入的分数,根据分数输出对应的等级字母 A、B、C、D、E

其中:

  1. 90分(含)以上 ,输出:A
  2. 80分(含)~ 90 分(不含),输出:B
  3. 70分(含)~ 80 分(不含),输出:C
  4. 60分(含)~ 70 分(不含),输出:D
  5. 60分(不含) 以下,输出: E
  • 语法结构 : 表达式1 ? 表达式2 : 表达式3
  • 执行思路

如果表达式1为true,则返回表达式2的值,如果表达式1为false,则返回表达式3的值

案例:数字补0用户输入数字,如果数字小于10,则在前面补0,比如01,09,

如果数字大于10,则不需要补,比如20

  • switch :开关 转换 , case :小例子 选项
  • 关键字 switch 后面括号内可以是表达式或值, 通常是一个变量
  • 关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号
  • switch 表达式的值会与结构中的 case 的值做比较
  • 如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码执行结束
  • 如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码
  • 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句
  1. 浏览器中按 F12–> sources –>找到需要调试的文件–>在程序的某一行设置断点(在行数点一下)
  2. 刷新浏览器
  3. Watch: 监视,通过watch可以监视变量的值的变化,非常的常用
  4. F11: 程序单步执行,让程序一行一行的执行,这个时候,观察watch中变量的值的变化

在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句

1.输入10句\”娘子晚安哈!\”

2.求1-100之间所有整数的累加和

3.求1-100之间所有数的平均值

4.求1-100之间所有偶数和奇数的和

5.求1-100之间所有能被3整除的数字的和

6.要求用户输入班级人数,之后依次输入每个学生的成绩,最后打印出该班级总的成绩以及平均成绩。

7.一行打印5个星星

我们采取追加字符串的方式,这样可以打印到控制台上

循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for 循环,这样的 for 循环语句我们称之为双重for循环。

  • 内层循环可以看做外层循环的语句
  • 内层循环执行的顺序也要遵循 for 循环的执行顺序
  • 外层循环执行一次,内层循环要执行全部次数

核心:

  • 内层循环负责一行打印五个星星
  • 外层循环负责打印五行

要求用户输入行数和列数,之后在控制台打印出用户输入行数和列数的星星

  • 一共有10行,但是每行的星星个数不一样,因此需要用到双重 for 循环
  • 外层的 for 控制行数 i ,循环10次可以打印10行
  • 内层的 for 控制每行的星星个数 j
  • 核心算法: 每一行星星的个数: j = i ; j <= 10; j++
  • 每行打印完毕后,都需要重新换一行

执行思路:

  • 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码
  • 执行循环体代码
  • 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束

注意

  • 使用 while 循环时一定要注意,它必须要有退出条件,否则会称为死循环
  • while 循环和 for 循环的不同之处在于 while 循环可以做较为复杂的条件判断,比如判断用户名和密码

从1岁到99岁

执行思路:

  1. 先执行一次循环体代码
  2. 再执行表达式,如果结果为true,则继续执行循环体代码,如果为false,则退出循环,继续执行后面的代码
  3. 先执行再判断循环体,所以dowhile循环语句至少会执行一次循环体代码

需求:弹出一个提示框, 你爱我吗? 如果输入我爱你,就提示结束,否则,一直询问

continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。

例如,吃5个包子,第3个有虫子,就扔掉第3个,继续吃第4个第5个包子

break 关键字用于立即跳出整个循环

例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的也不吃了

数组(Array)是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。

JavaScript 中创建数组有两种方式:

  • 利用 new 创建数组
  • 利用数组字面量创建数组
  • 这种方式暂且了解,等学完对象再看
  • 注意 Array(),A要大写
  • 数组的字面量是方括号 []
  • 声明数组并赋值称为数组的初始化
  • 这种字面量方式也是我们以后最多使用的方式

索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)

我们可以通过 for 循环索引遍历数组中的每一项

使用“数组名.length”可以访问数组元素的数量(数组长度)

注意

  • 此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆
  • 当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化

1.请将 [“关羽”,“张飞”,“马超”,“赵云”,“黄忠”,“刘备”,“姜维”]; 数组里的元素依次打印到控制台

2.求数组 [2,6,1,7, 4] 里面所有元素的和以及平均值

  • ①声明一个求和变量 sum。
  • ①遍历这个数组,把里面每个数组元素加到 sum 里面。
  • ①用求和变量 sum 除以数组的长度就可以得到数组的平均值。

3.求数组[2,6,1,77,52,25,7]中的最大值

  • ①声明一个保存最大元素的变量 max。
  • ②默认最大值可以取数组中的第一个元素。
  • ③遍历这个数组,把里面每个数组元素和 max 相比较。
  • ④如果这个数组元素大于max 就把这个数组元素存到 max 里面,否则继续下一轮比较。
  • ⑤最后输出这个 max。

4.将数组 [‘red’, ‘green’, ‘blue’, ‘pink’] 里面的元素转换为字符串

思路:就是把里面的元素相加就好了,但是注意保证是字符相加

  • ①需要一个新变量 str 用于存放转换完的字符串。
  • ②遍历原来的数组,分别把里面数据取出来,加到字符串变量 str 里面。

5.将数组 [‘red’, ‘green’, ‘blue’, ‘pink’] 转换为字符串,并且用 | 或其他符号分割

  • ①需要一个新变量用于存放转换完的字符串 str。
  • ①遍历原来的数组,分别把里面数据取出来,加到字符串里面。
  • ①同时在后面多加一个分隔符。
  • 可以通过修改 length 长度来实现数组扩容的目的
  • length 属性是可读写的

其中索引号是 4,5,6 的空间没有给值,就是声明变量未给值,默认值就是 undefined

  • 可以通过修改数组索引的方式追加数组元素
  • 不能直接给数组名赋值,否则会覆盖掉以前的数据
  • 这种方式也是我们最常用的一种方式

1.新建一个数组,里面存放10个整数( 1~10), 要求使用循环追加的方式输出: [1,2,3,4,5,6,7,8,9,10]

  • ①使用循环来追加数组。
  • ②声明一个空数组 arr。
  • ③循环中的计数器 i 可以作为数组元素存入。
  • 由于数组的索引号是从0开始的, 因此计数器从 0 开始更合适,存入的数组元素要+1。

2.将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组

  • ①声明一个新的数组用于存放新数据。
  • ②遍历原来的数组,找出大于等于 10 的元素。
  • ③依次追加给新数组 newArr。

实现代码1:

实现代码2:

将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 0 去掉后,形成一个不包含 0 的新数组。

将数组 [‘red’, ‘green’, ‘blue’, ‘pink’, ‘purple’] 的内容反过来存放

冒泡排序

将数组 [5, 4, 3, 2, 1]中的元素按照从小到大的顺序排序,输出: 1,2,3,4,5

汇总结束,希望对各位朋友有帮助,觉得还不错的给个点赞支撑支撑

JavaScript中必须掌握的基本知识

一.简介

JavaScript(JS)是一门高级的、解释型的动态编程语言。用于 HTML或web应用,可被浏览器直接执行。

完整的JavaScript包括以下几个部分:

  1. ECMAScript,描述了该语言的语法和基本对象
  2. 文档对象模型(DOM),描述处理网页内容的方法和接口
  3. 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口

JavaScript的基本特点:

  • 是一种解释性脚本语言(代码不进行预编译)。
  • 主要用来向HTML页面添加交互行为
  • 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

JavaScript常用来完成以下任务:

  • 嵌入动态文本于HTML页面
  • 对浏览器事件作出响应
  • 读写HTML元素
  • 数据被提交到服务器之前验证数据
  • 检测访客的浏览器信息
  • 控制cookies,包括创建和修改等

二.用法

1.嵌入HTML

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。

脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

如果 <script> 放在 body 中,建议放在底部。因为浏览器会按照代码在文件中的顺序解析 HTML。如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。所以,要将 JavaScript 代码放在 body 中,应置于 HTML 页面底部。

2.外部js脚本

也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

外部 JavaScript 文件的文件扩展名是 .js。外部文件不使用 <script> 标签,直接写 javascript 代码。

如需使用外部文件,请在 <script> 标签的 \”src\” 属性中设置该 .js 文件:

3.在console调试

可以进入浏览器中console,如chrome F12 进入console,以命令行的形式输入js命令

4.事件触发

把 JavaScript 代码放入函数中,在事件发生时调用该函数。

三.变量

JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值

也可以使用let,const来定义,这三者的区别是:var与let涉及块级作用域,let 命令只在所在的代码块 {} 内有效,具体参考;const定义一个只读常量

一般用var即可,let更推荐

注意: 在JavaScript中,所有代码指令都会以分号结尾 (;)

JavaScript中数据类型主要有:

算数运算符主要有:

比较运算符主要有:

在常规的比较中,数据类型是被忽略的

四.基本语法

1.条件语句

if 语句只有当指定条件为 true 时,该语句才会执行代码。

使用 if….else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。

使用 if….else if…else 语句来选择多个代码块之一来执行。

三目运算

2.循环语句

JavaScript 支持不同类型的循环:

  • for – 循环代码块一定的次数
  • for/in – 循环遍历对象的属性
  • while – 当指定的条件为 true 时循环指定的代码块
  • do/while – 同样当指定的条件为 true 时循环指定的代码块

for 循环

for/in遍历

while 循环会在指定条件为真时循环执行代码块。

do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。

3.函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

加上形参

匿名函数,函数存储在变量中,不需要函数名称,通常通过变量名来调用。

4.异常判断

try 语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

JavaScript 语句 trycatch 是成对出现的。

finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。

在浏览器中,页面被加载的时候,会自动生成这个页面的DOM对象(document)

DOM对象是一个树模型

可以通过这个对象:

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

1.查找HTML元素

通过id查找

通过标签查找

通过类名查找

因为查找返回的元素也是对象,所以可以对它再进行查找

2.修改HTML元素

改变HTML输出流

修改 HTML 内容

改变 HTML 元素的属性

3.DOM事件

事件可以是浏览器行为,也可以是用户行为,当事件触发时,可以执行对应的js代码

常见事件

HTML 元素中可以添加事件属性,并添加 JavaScript 代码,当此元素的事件被触发时,就会触发执行js代码

<button onclick=\”getElementById(\’demo\’).innerHTML=Date()\”>现在的时间是?</button><p id=\”demo\”></p>

也可以由DOM对象分配事件,因为事件也是html的一个属性

addEventListener() 方法

语法为

第一个参数是事件的类型 (如 \”click\” 或 \”mousedown\”).

第二个参数是事件触发后调用的函数。

第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的。

详细的事件类型参考https://developer.mozilla.org/zh-CN/docs/Web/Events,注意与在元素属性中的事件是不同的

什么是WEB?WEB起到什么作用?

WEB名词解释

\”Web\” 是 \”World Wide Web\”(万维网)的缩写,它是一个通过互联网访问的信息系统。Web 主要由以下几部分组成:

  1. 超文本文件:这是指网页文档,通常是用 HTML (HyperText Markup Language) 编写的。HTML 文件可以包含文本、图片、视频、音频和其他多媒体内容,并且可以通过链接相互关联。
  2. URL(统一资源定位符):每个网页都有一个唯一的地址,称为 URL。用户可以通过浏览器输入这个地址来访问特定的网页。
  3. HTTP/HTTPS(超文本传输协议/安全超文本传输协议):这是一种用于从 web 服务器向客户端(如浏览器)传输网页的应用层协议。HTTPS 是 HTTP 的安全版本,提供了加密的数据传输。
  4. Web 浏览器:这是用来显示网页内容并允许用户与之交互的软件程序。常见的浏览器有 Google Chrome、Mozilla Firefox、Microsoft Edge 和 Safari 等。
  5. Web 服务器:这是运行在互联网上的计算机,它们存储了网页文件并通过 HTTP/HTTPS 协议响应来自全球用户的请求。
  6. 超链接:这是 web 的核心特性之一,它使得文档和资源之间能够相互连接。超链接可以是文本或图像的一部分,点击它可以将用户带到另一个网页或同一网页的不同部分。
  7. 多媒体元素:除了文字,web 页面还经常包含图片、视频、音频等多媒体元素,以提供更丰富的用户体验。
  8. 脚本语言:像 JavaScript 这样的脚本语言可以在客户端执行,为 web 页面添加动态行为和交互性。
  9. 样式表:CSS(层叠样式表)用于定义网页的外观和格式,比如字体大小、颜色、布局等。
  10. Web 应用程序:随着技术的发展,web 不仅仅局限于静态页面,还包括了大量的 web 应用程序,这些应用程序可以通过浏览器访问,提供了类似桌面软件的功能和服务。

WEB应该学习什么?

作为前端开发人员,专注于Web前端技术的学习是非常重要的。以下是一个详细的学习指南,涵盖了前端开发所需的关键技能和工具:

  • HTML (HyperText Markup Language): 学习如何使用标签构建网页的结构。
  • CSS (Cascading Style Sheets): 掌握样式化网页的方法,包括布局、颜色、字体等。
  • JavaScript: 理解这门编程语言,它是前端交互性的核心。
  • 响应式设计: 学会创建适应不同设备和屏幕尺寸的网页。
  • 浏览器开发者工具: 使用 Chrome DevTools 或 Firefox Developer Tools 调试代码和优化性能。
  • 版本控制系统:
    • Git: 学习如何使用 Git 来管理代码版本,并了解 GitHub/GitLab 等平台。
  • React.js: 由 Facebook 开发的用于构建用户界面的 JavaScript 库。
  • Vue.js: 一个渐进式 JavaScript 框架,易于上手且功能强大。
  • Angular: 由 Google 维护的一个完整的前端框架,基于 TypeScript。
  • UI 框架:
    • Bootstrap: 流行的 CSS 框架,提供预定义的样式和组件。
    • Tailwind CSS: 实用优先的 CSS 框架,允许你直接在 HTML 中编写样式。
  • 模块打包工具:
    • Webpack, Parcel, 或 Vite: 用于将多个文件合并成一个或几个优化后的文件,便于浏览器加载。
  • 任务运行器:
    • Gulp, Grunt: 自动化重复性任务,如压缩图片、编译 Sass 等(虽然现在这些功能大多被 Webpack 等打包工具替代)。
  • 构建工具:
    • Babel: 编译现代 JavaScript 代码为向后兼容的版本。
    • ESLint: 静态分析工具,帮助发现潜在问题并保持代码风格一致。
  • Sass/SCSS, Less: CSS 预处理器,扩展了 CSS 的功能,支持变量、嵌套规则、混合等功能。
  • 懒加载: 推迟加载非关键资源以加快页面初始加载速度。
  • 图像优化: 使用适当的格式和大小来减少带宽消耗。
  • 缓存策略: 利用浏览器缓存来减少重复请求。
  • 单元测试:
    • Jest, Mocha: 写测试用例确保代码按预期工作。
  • 端到端测试:
    • Cypress, Puppeteer: 测试整个应用程序的行为,从用户的角度出发。
  • 可访问性 (Accessibility): 确保你的网站对所有用户都友好,包括那些有残障的人士。
  • SEO (搜索引擎优化): 让你的网站更容易被搜索引擎索引和找到。
  • 关注社区和技术博客: 例如 MDN Web Docs, Stack Overflow, Reddit 的 r/webdev 等。
  • 参加在线课程和教程: 如 freeCodeCamp, Codecademy, Udemy 等提供的课程。
  • 参与开源项目: 在 GitHub 上贡献代码,提高自己的技能水平。
  • Progressive Web Apps (PWAs): 学习如何创建类似原生应用的 Web 应用程序。
  • Web Components: 使用标准组件化的方式来构建 Web 应用。
  • TypeScript: 学习这个静态类型的超集,它可以帮助编写更健壮的 JavaScript 代码。

通过掌握上述技术和工具,你可以成为一名合格的前端开发人员。根据个人兴趣和市场需求,可以选择深入某些特定领域进行专业化发展。持续学习和实践是提升技能的关键。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。