**
强制类型转换(显式转换)
**
var a=prompt('请输入一个数字:');
console.log(typeof a); //string
1.转换为number
- 使用Number()
如果内容可以转换成数字,则返回对应的数字(整数小数)
如果内容不可以转换成数字,则返回NaN,如果内容为空则返回0。
a=Number(a);
console.log(a);//如果a输入的数字,显示为数字,如果不是数字显示为NaN,如果是空的,现实为0
console.log(typeof a); //number
- 使用parseInt()
将内容转换成整数(直接去掉小数)
var a=parseInt('12.5');//12,返回整数,不会四舍五入
var a=parseInt('hello'); //NaN
var a=parseInt('abc123'); //NaN
var a=parseInt('123abc');//123 按字符顺序进行解析
var a=parseInt('123abc456'); //123 会从第一个字符开始解析,直到遇到非数字的符号停止,并返回已解析的部分数值
- 使用parseFloat()
将内容转换成小数
var a=parseFloat('12.5');//12.5
var a=parseFloat('hello'); //NaN
var a=parseFloat('abc123'); //NaN
var a=parseFloat('123abc');//123 按字符顺序进行解析
var a=parseFloat('123abc456'); //123 会从第一个字符开始解析,直到遇到非数字的符号停止,并返回已解析的部分数值
parseInt()和parseFloat()会从第一个字符开始解析,直到遇到非数字符号停止,并返回已解析的那部分数值。
2.转换为string(字符串)
var a=123;
var b=true;
- 使用String()
将要转换的内容放在String后的小括号中。
在这里插入代码片
a=String(a); // '123'
b=String(b);//'true'
- 使用toString()
直接调用变量的toString()方法
a=a.toString();
b=b.toString();
3.转换为boolean
使用Boolean()
结论: false、0、NaN、Undefinded和空字符串会被转换成false
其他的都会被转换成true(任何非空字符串都会被转换成true)
**
自动转换类型(隐式转换)
**
1.转换为number
var a='123'; //string
- 在变量前面加+
a = +a; // number 在变量前面加+
- 可以使用-、*、/、%、<、>将字符串在运算过程中转换成number但是原始类型不会改变
var b=a*2; //24 在运算时会自动转换为number进行参与运算,原始变量类型没有改变。
var c=b/2;
var d=a%2;
var c=a>5?'a大于5':'a不大于5';
2.转换成string
- 直接拼接空字符串
var a=12;
a=a+''; //string
3.转换成boolean
- 使用!!转换
var a=123;
a=!!a;
注:此为个人学习笔记,如有补充可以选择在评论区留言或者无视。