js笔记 day 02

61 阅读2分钟

1.类型转换

类型转换:在数据类型中,某些场景下,需要进行的操作,需要将类型转换才可以完成,需要将类型转成另一种类型

目标类型:number string boolean

被转换的类型:number string boolean null undefined

转成number 强制转换:利用js系统提供的工具来转换

1.Number() 将字符串转成number

var str = '11'
var num = Number(str)
console.log(num);

数字字符串可以转成具体数字,空字符串可以转成0,其他字符串都是NaN

var str = ''
var num = Number(str)
console.log(num);

将boolean转成number - true为1,false为0

var bool = false
var num = Number(bool)
console.log(num);

将null转成数字 - 0

var a = null
var num = Number(a)
console.log(num);

undefined转数字 - NaN

var a
var num = Number(a)
console.log(num);

总结:Number() 空字符串转成0 数字字符串转成数字 true转成1 false转成0 null转成0 其他都是NaN

还有parseInt()和parseFloat()没记
     

2.String()

var num = true
var str = String(num)
console.log(str);

-- 数据.toString()

var num = true
var str = num.toString()
console.log(str);

隐形转换: +号左右两边有一个是字符串,另一个也会悄悄的转成字符串,进行拼接

var num = 20
var result = num + '11'
console.log(result);

总结:string()

强制:

String()

数据.toString()

隐形:

+号一边是字符串,另一边就会隐形转成字符串

3.boolean()

 var str = ''
 var bool = Boolean(str)
 console.log(bool);
 

转布尔为false:0 空字符串 undefined null

其他数据都是true

2.单分支

if(条件) {
    条件结果为true的时候,要执行的代码段
}

var a=1
if(a<5){
console.log(a)
}

3.双分支

   if(条件) {
     当条件为true的时候,要执行的代码段
    } else {
        当条件为false的时候,要执行的代码段
    }

4.多分支

if(条件1) {
    当条件1true的时候会执行的代码段
} else if(条件2) {
    当条件2true的时候会执行的代码段
} else if(条件3) {
    当条件3true的时候会执行的代码段
} else {
    当上述所有条件都为false的时候会执行的代码段
}

5.多路判断

switch(要判断的变量) {
    case1: 
        变量跟值1相等时要执行的代码段
    break;
    case2:
        变量跟值2相等时要执行的代码段
    break
    case ..

    ..

    default: 
        当所有的值都跟变量不相等时要执行的代码段
}

switch总结: 类似于多分支的判断 更严谨,因为在使用全等判断 效率更高,只判断了一次 switch只能判断全等,不能判断区间范围

6.三元运算

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

// 奇数偶数

 if(num % 2 === 0) {
     console.log('偶数');
 } else {
     console.log('奇数');
 }

三元运算

 var num = 50
 num % 2 === 0 ? console.log('偶数') : console.log('奇数')