数据类型
·是指我们存储在内存中的数据类型
·我们通常分为两大类 基本数据类型 和 复杂数据类型
基本数据类型
1. Number 数字 18 , 12.5(浮点数) 2e3//2*10^3 科学计数
16进制:0x99 = 9×16+9 0xff=15×16=15 // 1-9,a,b,c,d,e,f f为15
8进制:077=7×8+7 2进制:0b11=1×2+1
2. String 字符串 加单双引号 相当于普通文本
3. Boolean 布尔值 ture真 false 假
4. Undefined 声明了 但是未赋值 未来可以任意赋值
5. Null 无 知道未来会赋值为对象 提前定义声明
6. Symbol
检测数据类型 typeof
列如 console.log(typeof a) 结果一定是字符串 string类型
typeof typeof a 是字符串
其他数据类型转成数值
1、number 可以把一个变量强制转换成数值类型 可以转换小数 会保留小数 可以转换布尔值 遇到不可转换的都会返回NAN
2、ParseInt 从第一位开始检查,是数字就转换,直到一个不是数字的内容 开头就不是数字那么直接返回NAN 不认识小数点 只能保留整数
3、ParseFloat 从第一位开始检查 是数字 就转换,直到一个不是数字的内容 开头就不是数字那么直接返回NAN 认识小数点
4、除了加法以外的数学运算 运算符两边都是可运算数字才行 如果运算符任何一边不是一个可运算数字 那么就会返回NAN
其他数据类型转成字符串
1、String() 所有类型都能转换成字符串
2、ToString Undefined和null 无法转换
3、+号其中一个是字符串 会全部转换为字符串 a+“” 空字符串
其他数据类型转成布尔
在JS 中 只有””、0、null、undefined、NaN,这些是false
其余都是true Boolean
运算符
数学运算符
-
-
- / 加减乘除 %取余
-
赋值运算符
+=1 为在自身上+1 -= 为自身上-1 乘除相同
比较运算符
== 比较两边值是否相等 ===比较两边的值和数据类型是否相等
!=比较两边的值是否不等 !==比较两边的数据类型和值是否不等
>=大于等于 <=小于等于 >大于 <小于
运算结果为 ture 或 false
逻辑运算符
&& 与 符号左边必须为true 并且右边也是true 才会返回true
只要有一边不是true 那么就会返回false
|| 或 只要左边为true 或者 右边是true 就会返回true
两边都不是false 那么就会返回false
! 非 进行取反运算
特殊:
-
!!a ==> 为了转换成布尔值
-
&& || 短路用法
-
或 和 与 同时存在的时候 与的优先级更高
自增自减运算符
++ 和 – 进行自增运算 分成两种 前置++和后置++
前置++会先把值自动+1 再返回 后置++会先把值返回 再自动+1
三元(三目)运算符
就是用两个符号组成一个语句
语法:条件? 条件为true的时候执行:条件为false的时候执行
列如:10<20?console.log(11111):console.log(22222) 执行22222
分支结构
·JS代码都是顺序执行 从上到下
· 逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码
If 条件分支语句
·通过一个if语句来决定代码是否执行
·语法:if (条件){要执行的代码}
·通过()里面的条件是否成立来决定{}里面的代码是否执行
If else语句
·语法:if (条件){条件为ture的时候执行}else{条件为false的时候执行}
If else if…语句
·可以通过if和else if来设置多个条件进行判断
·语法if(条件1){条件1为true的时候执行}else if(条件2){条件2为ture的时候执行}
·会从头开始依次判断条件
如果第一个条件为true了,那么就会执行后面的{}里的内容
如果第一个条件为false,那么就回判断第二个条件,以此类推
·多个{},只会有一个被执行,一旦有一个条件为true了,后面的就不再判断了
Switch条件分支语句
·也是条件判断语句的一种
·是对于某一个变量的判断
·语法:switch(要判断的变量){
case情况1:
情况1要执行的代码
break
case情况2:
情况1要执行的代码
break
default:
上述情况都不满足的时候执行的代码
}
要判断某一个变量 等于 某一个值得时候使用
注意:
1.===
2.不要比较运算符
3.break 必须写
循环结构(重点知识)
循环结构就是根据某些给出的条件 重复地执行同一段代码
循环必须要有某些固定的内容组成
- 初始化 2.条件判断 3.要执行的代码 4.自身改变
While循环
中文叫 当…时,当条件满足就执行代码,一旦不满足就不执行
语法while(条件){满足就执行}
因为满足条件就执行,所以写的时候要设定边界值,不然就一直会循环下去
// 1. 初始化条件
var num = 0;
// 2. 条件判断
while (num < 10) {
// 3. 要执行的代码
console.log('当前的 num 的值是 ' + num)
// 4. 自身改变
num = num + 1
}
DO while 循环
·先不管条件 先执行一回 然后再开始进行条件判断是否满足,满足就继续,不满足就停止。
·语法 do{要执行的代码}while(条件)
// 下面这个代码,条件一开始就不满足,但是依旧会执行一次 do 后面 {} 内部的代码
var num = 10
do {
console.log('我执行了一次')
num = num + 1
} while (num < 10)
FOR 循环
语法:for(var i=0 ; i<10;i++){要执行的代码}
// 把初始化,条件判断,自身改变,写在了一起
for (var i = 1; i <= 10; i++) {
// 这里写的是要执行的代码
console.log(i)
}
// 控制台会依次输出 1 ~ 10
列如:for(var n=1000;n<=2000; n+=4){console.log(n)}
把初始化,条件判断,自身改变 写在一起
注意:for 内部用分号隔开 不是逗号
BREAK 终止循环
·在循环没有进行完毕的时候,因为设置的条件满足,提前终止循环
·比如 我要吃5个包子 在吃到3个的时候,不能再吃了 我就停止吃包子这件事情
·要终止循环,就可以直接使用break关键字
for (var i = 1; i <= 5; i++) {
// 没循环一次,吃一个包子
console.log('我吃了一个包子')
// 当 i 的值为 3 的时候,条件为 true,执行 {} 里面的代码终止循环
// 循环就不会继续向下执行了,也就没有 4 和 5 了
if (i === 3) {
break
}
}
CONTINUE 结束本次循环
·在循环中把循环的本次跳过去,继续执行后续的循环
·比如吃包子的时候,吃到第三个,第三个掉地下去了,不吃了,跳过第三个,继续吃第四个和第五个
·跳过本次循环,就可以使用continue关键字
for (var i = 1; i <= 5; i++) {
// 当 i 的值为 3 的时候,执行 {} 里面的代码
// {} 里面有 continue,那么本次循环后面的代码就都不执行了
// 自动算作 i 为 3 的这一次结束了,去继续执行 i = 4 的那次循环了
if (i === 3) {
console.log('这个是第三个包子,掉地下了,我不吃了')
continue
}
console.log('我吃了一个包子')
}
inue**关键字
for (var i = 1; i <= 5; i++) {
// 当 i 的值为 3 的时候,执行 {} 里面的代码
// {} 里面有 continue,那么本次循环后面的代码就都不执行了
// 自动算作 i 为 3 的这一次结束了,去继续执行 i = 4 的那次循环了
if (i === 3) {
console.log('这个是第三个包子,掉地下了,我不吃了')
continue
}
console.log('我吃了一个包子')
}
思维导图总结如下: