不会改变原值
1. 转换至number类型
- string 转换至number类型
方法: + 、 Number()函数 、 parseInt() 、 parseFloat()
代码如下:
<script>
var str = '123';
var num = Number(str);
var numTwo = parseInt(str);
var numThree = parseFloat(str);
var numFour = +str;
console.log(num); //123
console.log(numTwo); //123
console.log(numThree); //123
console.log(numFour); //123
</script>
注意:此处将str的值换为非纯数字(12r xpf 之类的)的话,四个方法输出的值有的会变为NaN,但是NaN也是number类型。
- boolean转换至number类型
true ==> 1
false ==> 0
<script>
var str = true;
var num = Number(str);
console.log(num); //1
</script>
- null转换至number类型
值为 0
<script>
var str = null;
var num = Number(str);
console.log(num); // 0
</script>
- undefined转换至number类型
NaN
<script>
var str;
var num = Number(str);
console.log(num); // NaN
</script>
2.转换至boolean类型
两种方法: !! 、 Boolean()函数
连用两次逻辑非,可以将任意数据类型转换为boolean类型
- string转换至boolean类型
非空字符串 ==> true
空字符串 ==> false
- number转换至boolean类型
非0 / infinity ==> true
0 / NaN ==> false
- null转换至boolean类型
false
- undefined转换至boolean类型
false
3.转换至string类型
三种方式:toString()函数 String()函数 "" 或 ''
<script>
var num = 12;
var str = num.toString();
var strTwo = String(num);
var strThree = num + '';
console.log(typeof(str)); //string
console.log(typeof(strTwo)); //string
console.log(typeof(strThree)); //string
</script>