运算符
算术运算符
在加法的时候如果出现字符串那么返回的绝对是一个字符串(会进行字符串拼接操作)
在其他相关的操作的时候会强制将其他的类型转为number类型再进行运算
如果在基础运算中没有出现字符串 而出现了NaN 那么结果必定是NaN (NaN不能进行算术运算)
++ 和 -- 前置后置的区别
++ 是自增 (在原本的基础上加1 会改变原本的值) -- 是自减(在原本基础上减1 会改变原本的
值)
++前置是先进行加1的操作 再执行后续的代码 ++后置先执行本行的代码再进行加1的操作
逻辑运算符
&& 全部都为true才是true 取得是最后一个true 只要一个为false那么对应的结果就是false 取得
是第一个false
|| 只要有一个是true 结果就是true 那么取得是第一个true 全部为false结果才为false 取得是最后
一个false
!进行boolean类型的强制转换 取反将true变false false变为true
短路与 && 到达为false 后面的不执行 短路或 || 到达为true后面的不执行
比较运算符
返回的值都是boolean类型的值
“1” == 1 比较值 “1”!== 1 比较值的同时比较类型
NaN!=NaN
出现NaN大部分都是false (!=)
任意类型和数值进行比较会被转为数值
字符串和字符串比较那么比较的是acsii码(从第一位开始比较 大写A 65 小写a 97)
赋值运算符
赋值运算最后执行
+= -= *= ...都是会在原本的基础上进行赋值
位运算符
三目运算
boolean值?true的结果:false的结果
表达式
表达式就是由运算符拼接的公式
算法运算符拼接的表达式 算术表达式
1+1+1
比较运算符拼接的表达式 条件表达式(转为boolean类型)
1+1 > 2
逻辑运算符拼接的表达式 关系表达式
1+1>2 && 1+2=3
条件控制语句
概述:
程序控制语句所有的语言都具备 ,主要分为循环控制语句(循环执行)和条件控制语句(根据不同的条
件执行不同的内容)
常用的条件控制语句
if else (传递条件表达式 根据条件表达式来判断)
switch case (空间复杂度大于if else 时间复杂度小于if else 传入一个值 根据来进行匹配)
if else
if(条件表达式){
//条件满足执行的内容
}else{
//条件不满足执行的内容
}
if else的嵌套
if else 允许多层嵌套 但是建议嵌套层级不要超过俩层
if(条件表达式){
//true的时候走的
if(条件表达式){
....
}else{
//false的时候走的
}
}else{
//false的时候走的
}
注意事项
if else他只会进入其中的一个条件中 不会同时进入俩个同级的代码块
if 里面的条件可以为表达式也可以为值 但是都会被强制转换为boolean类型
if else可以嵌套多层 一般建议嵌套不超过俩层
switch case
switch(值){
case 值1:
执行的代码
break
case 值2:
执行的代码
break
...
default:
上面都不满足的默认的执行代码
}
switch 的值比对用到的是=== 必须要类型和值都一致
每个case块都是一个分支 如果没有break那么会进入下一个分支
多个分支可以执行一个操作
break用于跳出switch块 那么后续的分支不再执行
switch 不适用于范围内的比对
default 默认的执行 上面都不满足的情况下执行
switch块允许多层嵌套
switch(n){
case 值1:
switch(i){
case 值1:
...
break
}
break
case 值2:
....
default:
...
}
switch 适合实际的值的列举(枚举) if 使用范围内容条件判断
循环控制语句
程序控制语句
条件控制语句 (根据对应的条件执行对应的代码片段)
循环控制语句 (根据循环条件循环执行多次对应的代码)
循环控制语句的流程
定义初始值
设置迭代条件(初始值的基础上迭代)
执行的代码 循环体
设置终止条件 (布尔类型表达式 返回的是boolean的值(强制转换为boolean类型))
常用的循环控制语句
while
do while
for
....
while循环
//外部定义初始值
var 初始值变量 = 值
while(终止条件(当他为false的时候就会结束对应的循环)){
//执行的代码 循环体
//迭代条件
}
var关键词修饰的变量进行变量提升 伪全局变量
var关键词修饰的变量会被预编译 但是不会读取赋值操作 而是强制赋值undefined
while循环嵌套
while(条件){
while(条件){
循环体
}
}
循环嵌套时间复杂度会增加(不建议嵌套超过俩层)
循环嵌套执行的次数为外层循环次数*内层循环次数
do while循环
var 初始值变量 = 初始值
do{
循环体
}while(条件)
do while和while的区别
while 最少执行0次 do while 最少执行一次
do while常用于 先执行对应的内容再判断是否循环(人机交互)
for循环
任何循环之间可以互相转换 while循环适用于你不知道执行次数的时候 for循环适用于知道执行次数
for(初始值;迭代条件;迭代量){
执行的代码 循环体
}
for循环嵌套
for(初始值;迭代条件;迭代量){
for(初始值;迭代条件;迭代量){
//循环体
}
}
循环总结
循环是用于反复多次执行一段代码
循环的三种方案可以互相嵌套 以及三种方法可以随意转换 常用的为for和while
while循环用于处理不知道对应的执行次数 for循环常用于知道对应的执行次数
循环要避免对应的死循环(死循环就是循环的迭代条件一直为true 没有办法停止)
while死循环写法 for死循环写法
用于循环中的关键词
break 跳出当前循环(跳出switch块)
continue 跳过本次循环 进入下一次