2023-5-5(JS第二天学习)

78 阅读2分钟

分支结构

程序的流程控制语句

  • 顺序结构

    默认,从上至下依次执行每一句话

  • 分支结构

    通过条件判断,选择部分代码运行

  • 循环结构

    通过条件判断,选择要不要重复执行某块代码

if分支

只要满足了一条路,就不会再走别的路

if
if(条件){
    操作
}
if...else
if(条件){
    操作
}else{
    默认操作
}
if...else if...else
if(条件1){
    操作1
}else if(条件2){
    操作2
}...else{
    默认操作
}

switch...case分支

switch(变量/表达式){
    case1:
        操作1;
        break;
    case2:
        操作2;
        break;
    ...
    default:
        默认操作
}
特殊
  1. case做的是等值比较
  2. case值的比较没有隐式转换
  3. 遇到第一条满足的分支,会将后面的分支全部执行,加上break可以跳出
switch和if的区别
  • switch..case

    优点:执行效率高,运行速度快(做的是等值比较)

    缺点:需要一个具体的值来进行比较

  • if

    优点:可以做范围判断 缺点:执行效率慢

三目运算

作用: 简化简单的分支结构

语法
条件&&(操作);----->if(条件){操作}
条件?操作:默认操作; ------>if(条件){操作}else{}
条件1?操作1:条件2:操作2:...:默认操作; ----->if(条件1){操作1}else if(条件2){操作2}else{默认操作}

强制转换

转字符串

方法一:toString()

不可以转undefined和null,会报错

方法二:String()

任何数据类型都可以转为字符串,相当于隐式转换,本身就是隐式转换的底层逻辑,等价于+""

转数字

方法一:parseInt()

只能转字符串和数字

执行原理: 从左到右依次读取每个字符,遇到非数字字符就停止转换,如果第一个字符就为非数字字符则为NaN,不认识小数点

方法二:parseFloat()

专门用于将字符串转为小数的,且只能转字符串,执行原理与方法一相同,但是认识小数点,且只认识第一个小数点

方法三:Number()

任何类型都能转为数字类型,相当于隐式转换,等价于-0/*1//1

转布尔

Boolean()

万能,相当于隐式转换

6个为false的值
  • 0
  • ""空字符串
  • null
  • undefined
  • NaN
  • false