JS逻辑分支

100 阅读2分钟

一、类型转换

转数字 强制

①Number() --- 空字符串转成0,数字字符串转成数字,其他字符串都是NaN。布尔值true转成1,布尔值false转成0。undefined转成NaN。null转成0。

②parseInt()数字开头的字符串,能获取到开头的整数,其他数据都是NaN。

③parseFloat()数字开头的字符串,能获取到开头的数字,其他数据都是NaN。

转数字 隐形

①进行数学运算的两个数据都会转成数字 --- 特殊:如果有一个是字符串,且符号是+除外。

②比较运算 --- 只要有一个是数字,另一个也会转成数字。

转字符串 强制

①String()

②数据.toString() +号左右两边有一个是字符串,另一个也会转成字符串。

转布尔值

强制 --- Boolean()

隐形 --- 将内容放在if的小括号中

结果:false --- 数字0、空字符串、undefined、null;true --- 其他都是true。

二、单分支

if(){}

三、双分支

if(){}else{}

四、多分支

if(){}else if(){}else if(){}...else{}

五、分支语句的简写

当分支语句的大括号中只有一行代码的时候,大括号可以省略

六、分支语句的嵌套

单分支可以嵌套双分支和多分支;

双分支也可以嵌套单分支和多分支;

多分支也可以嵌套单分支和多分支。

七、switch多路判断

语法:

switch(变量){
    case1:
        代码段
    break
    case2:
        代码段
    break
    default:
        代码段
}

优点:判断比较严谨,用全等做判断;效率比较高,只判断一次。

缺点:只能判断全等,不能判断区间范围。

八、三元运算

简写双分支的,能且仅能简写简单的双分支。

条件?条件为true的时候执行的代码:条件为false的时候执行的代码

能且仅能简化简单的双分支。

整个表达式可以当做一个值取赋值或输出。