1.转数值
1.1 Number(数据)方法
可以用于任何数据类型,将其转换为数字类型
- 字符串转数字
- 如果转换的字符串是纯数字组成的,那么直接转换为数字
- 如果转换的字符串是空字符串或者空白字符串,那么直接转换为数字0
- 其他类型的字符串(不是空--空白--纯数字字符串)会转换为NaN
//1. 如果转换的字符串是纯数字组成的,那么直接转换为数字
console.log(typeof(Number('100')),Number('100'))//number 100 会将'100'转换为数字,然后打印到控制台 //
2. 如果转换的字符串是空字符串或者空白字符串,那么直接转换为数字0
console.log(typeof(Number('')),Number(''))//number 0(什么都没有转换为0)
console.log(typeof(Number(' ')),Number(' '))//number 0((空白)空格转换为0) //
3.其他类型的字符串(不是空--空白--纯数字字符串)会转换为NaN
console.log(typeof(Number('abc')),Number('abc'))//number NaN
console.log(typeof(Number('100abc')),Number('100abc'))//number NaN
复制代码
- 布尔值转数字
- true转换为1
- false转换为002 JS基本数据类型之间的转换 - 掘金
console.log(typeof(Number(true)),Number(true))//number 1 console.log(typeof(Number(false)),Number(false))//number 0
```02 JS基本数据类型之间的转换 - 掘金
- undefined转数字
1. 会直接转为为NaN
console.log(typeof(Number(undefined)),Number(undefined))//number NaN 复制代码
- null转数字
1. 会直接转为为0
console.log(typeof(Number(null)),Number(null))//number 0 复制代码
#### 1.2 parseInt(数据)
会将数据转换为number类型,并且值是整数(直接忽略掉小数点以后的,并且不是四舍五入)
1. 在转换的时候,如果数据是纯数字字符串或者是数字开头的字符串,那么会转换为数字,否则就是NaN
console.log(typeof(parseInt('100')),parseInt('100'))//number 100 console.log(typeof(parseInt('100.1')),parseInt('100.1'))//number 100 console.log(typeof(parseInt('abc')),parseInt('abc'))//number NaN console.log(typeof(parseInt('100abc')),parseInt('100abc'))//number 100
console.log(typeof(parseInt('')),parseInt(''))//number NaN console.log(typeof(parseInt(' ')),parseInt(' '))//number NaN console.log(typeof(parseInt('true')),parseInt('true'))//number NaN console.log(typeof(parseInt('false')),parseInt('false'))//number NaN console.log(typeof(parseInt('undefined')),parseInt('undefined'))//number NaN console.log(typeof(parseInt('null')),parseInt('null'))//number NaN 复制代码
#### 1.3 parseFloat方法
转换结果于 parseInt 类似,但是在转换小数的时候会有小数点后的数字
console.log(typeof(parseFloat('100.1')),parseFloat('100.1'))//number 100.1 console.log(typeof(parseFloat('100abc')),parseFloat('100abc'))//number 100 console.log(typeof(parseFloat('abc')),parseFloat('abc'))//number NaN
console.log(typeof(parseFloat('')),parseFloat(''))//number NaN console.log(typeof(parseFloat(' ')),parseFloat(' '))//number NaN
console.log(typeof(parseFloat('true')),parseFloat('true'))//number NaN console.log(typeof(parseFloat('false')),parseFloat('false'))//number NaN
console.log(typeof(parseFloat('undefined')),parseFloat('undefined'))//number NaN console.log(typeof(parseFloat('null')),parseFloat('null'))//number NaN 复制代码
#### 1.4扩展: 数据 - 0
console.log(typeof('100'),'100')//string 100 console.log(typeof('100'-0),'100'-0)//number 100 console.log(typeof('100.99'-0),'100.99'-0) //number 100.99 复制代码
## 2.转字符串
#### 2.1 变量.toString()方法 注意:S是大写的
注意:undefined和null不能使用 toString()方法(因为JS没有给我们提供或者说JS不允许)
var str1 = 100 console.log(typeof(str1.toString()),str1.toString())//string 100 var str2 = true console.log(typeof(str2.toString()),str2.toString())//string true var str3 = false console.log(typeof(str3.toString()),str3.toString())//string false var str4 = undefined console.log(typeof(str4.toString()),str4.toString())//这里会报错,因为undefined不能使用toString方法 var str5 = null console.log(typeof(str5.toString()),str5.toString())//这里会报错,因为null不能使用toString方法 复制代码
#### 2.2 String(变量) 注意:S也是大写
什么类型都可以转换为字符串类型,包括undefined 和 null 类型
var str1 = 100 console.log(typeof(String(str1)),String(str1)) //string 100 var str2 = true console.log(typeof(String(str2)),String(str2)) //string true var str3 = false console.log(typeof(String(str3)),String(str3)) //string false var str4 = undefined console.log(typeof(String(str4)),String(str4)) //string undefined var str5 = null console.log(typeof(String(str5)),String(str5)) //string null 复制代码
#### 2.3 扩展:开发时常用的一个方法
变量+''
var str1 = 100 console.log(typeof(str1 + ''),str1 + '')//string 100 var str2 = true console.log(typeof(str2 + ''),str2 + '')//string true var str3 = false console.log(typeof(str3 + ''),str3 + '')//string false var str4 = undefined console.log(typeof(str4 + ''),str4 + '')//string undefined var str5 = null console.log(typeof(str5 + ''),str5 + '')//string null 复制代码
## 3.转布尔类型
#### 3.1 Boolean(变量) 将其他数据类型,转换为 布尔值(也就是转换为true 或者 false)
1. 数字转换为布尔值,只有0会转换为false 其他的数字都会转换为true(非0即为真)
var num1 = 100 var num2 = 0 var num3 = -1 console.log(num1,'-->',Boolean(num1))//100-->true console.log(num2,'-->',Boolean(num2))//0-->false console.log(num3,'-->',Boolean(num3))//-1-->true 复制代码
2. 字符串转换为布尔值的时候,只有空字符串会转换为 false 其他的字符串都会转换为 true
var str1 = '' var str2 = ' ' var str3 = 'abc' var str4 = '0' console.log(str1,'-->',Boolean(str1))//''-->false console.log(str2,'-->',Boolean(str2))//' '-->true console.log(str3,'-->',Boolean(str3))//'abc'-->true console.log(str4,'-->',Boolean(str4))//'0'-->true 复制代码
3. undefined 和 null 转换为布尔值的时候 就是 false(重点)
var und = undefined var nul = null console.log(und,'-->',Boolean(und))//undefined-->false console.log(nul,'-->',Boolean(nul))//null-->false