学习内容:
一、运算符
1.算数运算符
概念:算数运算使用的符号,用于执行两个变量或值的算数运算。
包括:+ 加 - 减 * 乘 / 除 % 取余
取余主要用于判断一个数能否被整除。
2.表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合。
表达式最终都会有一个结果,返回给我们,我们称为返回值。
3.递增运算符和递减运算符
在JavaScript中,递增(++)和递减(--)既可以放在变量前面,也可以放在变量后面。放在变量前面时,我们可以成为前置递增(递减)运算符,放在变量后面时,我们可以成为后置递增(递减)运算符。
注意:递增和递减运算符必须和变量配合使用。
前置自增:先自加,后运算
后置递增:先原值运算,后自加
4.比较运算符
概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作为比较运算结果。
==默认转换数据类型,只需要两侧值一样就可以返回true
===要求两侧的值还有数据类型都要一模一样才可以返回true
5.逻辑运算符
5.1概念:逻辑运算符是用来进行布尔值运算的运算符,返回值也是布尔值。经常用于多个条件的判断。
5.2短路运算(逻辑中断)
原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再运算右边的表达式的值。
5.2.1逻辑与
语法:表达式1&&表达式2
如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1
5.2.2逻辑或
语法:表达式1||表达式2
如果第一个表达式的值为真,则返回表达式1
如果第一个表达式的值为假,则返回表达式2
6.赋值运算符
概念:用来把数据赋值给变量的运算符。
7.运算符优先级
二、流程控制——分支
1.流程控制:就是控制我们的代码按什么结构顺序来执行。
分类:顺序结构、分支结构和循环结构
2.顺序流程控制
顺序结构是成勋中最简单、最基本的流程控制。程序按照代码的先后顺序,依次执行。
3.分支结构
由上到下执行代码过程中,根据不同条件,执行不同的路径代码,从而得到不同的结果。
3.1 if 分支语句
语法结构:
执行流程:
3.2 if else 双分支语句
语法结构:
执行流程:
3.3 if else if 多分支语句
语法结构:
控制流程:
3.4三元表达式
语法结构:
条件表达式? 表达式1 : 表达式2
执行思路:
如果条件表达式为真,则返回表达式1的值,如果为假,则返回表达式2 的值。
3.5 switch语句
switch语句也是多分支语句,它用于基于不同条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch
语法结构:
注意:
(1)我们开发里面,表达式我们经常写成变量;
(2)我们num的值和case里面的值先匹配时是全等,必须是值和数据类型一致才可以 num===1;
(3) break 如果当前的case里面没有break,则不会退出switch,是继续执行下一个case
3.6 switch 和 if else if 的区别
4.循环结构
4.1 for循环
主要用于把某些代码循环若干次,通常跟计数有关系。
语法结构:
初始化变量:就是用var声明的一个普通变量,通常用于作为计数器使用;
条件表达式:就是用来决定每一次循环是否继续执行,就是终止条件;
操作表达式;是每次循环最后执行的代码,经常用于我们计数器进行更新。
例:
4.2 while 循环
语法结构:
执行思路:
4.3 do while循环
语法结构:
执行思路:
5.continue break
continue 立即跳出本次循环,进入下一次循环。
break 立即退出整个循环,循环结束。
三、数组
1.数组的概念
数组是一组数据的集合,其中每个数据被称为元素在数组中可以存放任意类型元素。数组是一种将一组数据存储在单个变量名下所的优雅方式。
数组的创建方式:
(1)利用new创建数组语法结构:
语法结构:
(2)利用数组字面量创建数组
语法结构:
数组的字面量是方括号[ ];
声明数组并赋值成为数组初始化;
数组中可以存放任意类型的数据。
2.访问数组元素
数组的索引
索引(下标):用来访问数组元素的序号,从0 开始。
数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过 “数组名[索引]” 的形式来获取数组中的元素。
语法结构:
3.遍历数组
遍历:就是把数组的元素从头到尾访问一次。
4.数组长度
数组长度是元素个数。
使用 “数组名.length” 可以计算数组长度。
5. 数组中新增元素
(1)通过修改length长度新增数组元素
可以通过修改length长度来实现数组扩容的目的;
length属性是可读写的。
(2)通过修改数组索引新增数组元素
可以通过修改数组索引的方式追加数组元素;
不能直接给数组名赋值,否则会覆盖掉以前的数据。