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) {
当条件1是true的时候会执行的代码段
} else if(条件2) {
当条件2是true的时候会执行的代码段
} else if(条件3) {
当条件3是true的时候会执行的代码段
} else {
当上述所有条件都为false的时候会执行的代码段
}
5.多路判断
switch(要判断的变量) {
case 值1:
变量跟值1相等时要执行的代码段
break;
case 值2:
变量跟值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('奇数')