一、类型转换
- 把一种数据类型转换成另外一种数据类型。
- 数据类型转换可以分为: 显示转换和隐式转换。
1.显示转换
- 概念:自己手动写代码告诉系统该转成什么类型(数据类型明确、程序员主导)
- 类型转换主要转换为数字型、字符串型、布尔型
转换为数字类型
- Number(数据)
- 转换成功返回一个数字类型
- 转换失败则返回 NaN (例如数据里面包含非数字)
- parseInt(数据)
- 只保留整数
- 如果数字开头的字符串,只保留整数数字 比如 12px 返回 12。
- parseFloat(数据)
- 可以保留小数;
- 如果数字开头的字符串,可以保留小数 比如 12.5px 返回 12.5。
- 注意:
- 布尔型转换为数字: true 为 1 , false 为 0 ;null 转换为数字为 0, undefined 为 NaN。
转换为字符型
- String(数据)
- 返回字符串类型
- 变量.toString(进制)
- 可以有进制转换
转换为布尔值
- Boolean(数据)
- 返回 true 或者 false
- 如果值为 false、 0、 ''、 null、undefined、NaN, 则返回false,其余返回为 true。
2.隐式转换
- 某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。
- 转换为数字型:
- 算术运算符: -、*、/、%, 比较运算符 > == 等
-
- 号作为正号可以把字符串转换成数字型
- 转换为字符串型
-
- 加号字符串拼接
- 转换为布尔型
- ! 逻辑非
- 注意:隐式转换类型不明确,靠经验才能总结,尽量数据类型统一再做计算
2.分支语句
表达式和语句
- 表达式:可以被求值的代码,并将其计算出一个结果。
- 语句:一段可以执行的代码,是一个行为,例如分支语句和循环语句。
程序三大流程控制语句
- 以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构。
- 有的时候要根据条件选择执行代码,这种就叫分支结构。
- 某段代码被重复执行,就叫循环结构。
1.分支语句
- 分支语句可以根据条件判定真假,来选择性的执行想要的代码
- 分支语句包含:if分支语句、三元运算符、switch语句。
- 使用语法:
- 小括号内的条件结果是布尔值,为true时,进入大括号里执行代码;为false,则不执行大括号里面代码
- 小括号内的结果若不是布尔类型时,会发生类型转换为布尔值,类似Boolean()。
2.if双分支语句
3.if多分支语句
- 使用场景:适合于有多个条件的时候。
- 先判断条件1,若满足条件1就执行代码1,其他不执行若不满足则向下判断条件2,满足条件2执行代码2,其他不执行若依然不满足继续往下判断,依次类推若以上条件都不满足,执行else里的代码n。
4.三元运算符
- 使用场景:一些简单的双分支,可以使用三元运算符(三元表达式),写起来比if else双分支更简单。
- 符号:?与:配合使用
- 语法:
- 执行过程:如果条件为真,则执行表达式1;如果条件为假,则执行表达式2
5.switch语句
- 使用场景: 适合于有多个条件的时候,也属于分支语句,大部分情况下和 if多分支语句 功能相同
- 语法:
- 找到跟小括号里数据全等的case值,并执行里面对应的代码
- 若没有全等 === 的则执行default里的代码
- 注意事项:
- switch case语句一般用于等值判断, if 适合于区间判断。
- switch case一般需要配合break关键字使用 没有break会造成case穿透。
3.循环语句
- 重复执行 指定的一段代码。
1.while 循环
- while : 在…. 期间, 所以 while循环 就是在满足条件期间,重复执行某些代码。
- 语法:
- 跟if语句很像,都要满足小括号里的条件为true才会进入 循环体 执行代码。
- while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出。
while 循环三要素:
2.for循环
- 作用:重复执行指定的一段代码
- 把声明初始值、循环条件、变量计数写到一起,让人一目了然,它是最常使用的循环形式
中止循环
- break 中止整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用(提高效率)
- continue 中止本次循环,一般用于排除或者跳过某一个选项的时候
无限循环
- while(true) 来构造“无限”循环,需要使用break退出循环。
- for(;;) 也可以来构造“无限”循环,同样需要使用break退出循环。