判断数据类型和数据类型转换
一、判断数据类型
<script>
//判断基本数据类型 typeof 语法 :typeof 变量名 (中间是空格)或者typeof()
var num = 123;
var str = '你好';
var flag = true;
var obj = null;
var age;
console.log(typeof num)//number
console.log(typeof str)//string
console.log(typeof flag)//boolean
console.log(typeof null)//object
console.log(typeof age)//undefined
</script>
二、数据类型转换
1.转换为字符串类型
<script>
// 转换为字符串类型
// 1、 toString 方法 转化为字符串 返回的是一个新的值,没有改变原来值的类型
// 可以把数值型的转化为字符串
// 可以把布尔值转化为字符串
// 不能转化undefined
// 不能转化null
var num = 123;
var str = '你好';
var flag = true;
var un = undefined;
var nu = null;
console.log(num.toString())
console.log(str.toString())
console.log(flag.toString())
// console.log(un.toString())
// console.log(nu.toString())
// var str1 = num.toString()
console.log(typeof num.toString())
console.log(typeof str.toString())
console.log(typeof flag.toString())
// console.log(typeof undefined.toString())
// console.log(typeof null.toString())
// 2、String()函数
// 可以把数值型的转化为字符串
// 可以把布尔值转化为字符串
// 能转化undefined
// 能转化null
// console.log(String(num))
// console.log(String(flag))
// console.log(String(undefined))
// console.log(String(null))
// console.log(typeof (String(num)))
// console.log(typeof (String(flag)))
// console.log(typeof (String(undefined)))
// console.log(typeof (String(null)))
</script>
2.转换为数值型(隐式转换和显式转换)
<script>
// 隐式转换 悄咪咪 暗戳戳的转换了
// 有字符串的往字符串转换
// console.log('1234' + 123) //1234123
// console.log(12 + 12) //24
// console.log(12 + true) // true是数值型的1 13
// console.log(33 + 'true') // 33true
// -
// console.log('1234' - 123) //1111
// console.log(12 - 12) //0
// console.log(12 - true) // true是数值型的1 11
// console.log(33 - 'true') //NaN
// 场景:
// 后端返回的数据不知道是字符串还是数值型时候,基本会使用 -(减号)转换为数值型
'12' - 0
// 显式转换 正大光明的转换/强制性转换
// 字符串可以转换为数值型
// 布尔值转换时是1 0
// undefined转换时是NaN
// null和空字符串会转换为0
var str = '123'
var flag = true
var un = undefined
var obj = null
var str1 = ""
console.log(Number(str)) //123
console.log(Number(flag)) //1
console.log(Number(un)) //NaN
console.log(Number(obj)) //0
console.log(Number(str1)) //0
// undefined和NaN相联系
</script>
3.转换为布尔值类型
<script>
// 布尔值 Boolean () false(0) true(1)
// 空字符、undefined等空的值会返回false 例如:null undefined "" NaN 0
console.log(Boolean(true)) //true
console.log(Boolean("")) //false
console.log(Boolean(undefined)) //false
console.log(Boolean(12234)) //true
console.log(Boolean('李四')) //true
console.log(Boolean(null)) //false
console.log(Boolean(NaN)) //false
console.log(Boolean(0)) //false
console.log(Boolean(1)) //true
</script>
三、判断字符串的长度
<script>
// 字符串是由若干个字符组成的,字符总的数量就是字符串的长度,想要获取字符串的长度,可以使用length属性
// 打印的结果是数字,字符串的长度包含所有字符(只要在引号内都是长度的其中一个字符)
var str = '323234234'
console.log(str.length)//9
var str1 = '12 34 '
console.log(str1.length)//6
</script>