文章目录
- 数据类型转换
- 一、转数值
- 1.强制数据类型转化之Number()
- 2.强制数据类型转化之parseInt()
- 3.强制数据类型转化之parseFloat()
- 二、转字符串
- 1.String()
- 2.toString()
- 3.加法运算
- 三、转布尔值
- 1.Boolean()
数据类型转换
数据类型转换:把一种数据类型转化成另外一种数据类型
1)隐式数据类型转化:静悄悄地转化,查觉不到
2)强制数据类型转化:需要我们写代码进行转化
提示:以下是本篇文章正文内容,下面案例可供参考
一、转数值
1.强制数据类型转化之Number()
语法:Number(你要转化的数据) 把一个非数值类型的数据,转化成数值类型的数据
返回值:转换好的数据
注意:
1)把内容看作一个整体,有些数据可以转化成功,有些数据,不能转化成功
2)不能转化成功的,结果就是NaN
2.强制数据类型转化之parseInt()
将数据尝试转化成整数。
注意:
1)把你要转化的内容是一位一位向后看
2)如果第1位不是数字,后面都不再看了,直接给出NaN
3)如果第一位可以转,再看第二位,直接到遇到小数点或非数字
3.强制数据类型转化之parseFloat()
将数据尝试转化成小数。
注意:
和parseInt规则是一样的,只不过多一个小数点
<script>
// 1,Number
var str1 = "110abc";
console.log(str1);
console.log(typeof str1);
let res = Number(str1)
console.log(res);
console.log(typeof res);
console.log("-----------------------------");
// 2,parseInt()
let str2 = "36a66.9425abc"
console.log(str2);
console.log(typeof str2);
let res2 = parseInt(str2)
console.log(res2);
console.log(typeof res2);
console.log("-----------------------------");
let str3 = "111.32abc3"
console.log(str3);
console.log(typeof str3);
let res3 = parseFloat(str3)
console.log(res3);
console.log(typeof res3);
console.log("-----------------------------");
var str4 = "100";
var res4 = +str4; // +尝试把一个数据,变成number数据类型
console.log(res4);
console.log(typeof res4);
console.log("-----------------------------");
var str5 = "100";
var res5 = -str5; // +尝试把一个数据,变成number数据类型
console.log(res5);
console.log(typeof res5);
</script>
二、转字符串
1.String()
语法:String(你要转化的数据)
返回值:是转化好的数据
特点:任何的数据类型都可以转化
<script>
// 1)String()
var n1 = 110;
var b1 = true;// boolean
var a = null
var m; // m的值是undeinfed undefiend的数据类型是undefiend
console.log(String(n1)); // 110是字符串的110
console.log(typeof String(n1));
console.log(String(b1)); // true是字符串的true
console.log(typeof String(b1));
console.log(String(a)); // null是字符串的null
console.log(typeof String(a));
console.log(String(m)); // undefiend是字符串的undefiend
console.log(typeof String(m));
</script>
2.toString()
语法:你要转化的数据.toString()
返回值:是转化好的数据
特点:null和undefined不能转化
<script>
// 2)toString()
var n1 = 666;
var b2 = true;
var a;
var m = null;
console.log(n1.toString());
console.log(typeof n1.toString());
console.log(b2.toString());
console.log(typeof b2.toString());
// Cannot read property 'toString' of undefined
console.log(a.toString()); // und 上没有toString属性
console.log(typeof a.toString());
console.log(m.toString());
console.log(typeof m.toString());
</script>
3.加法运算
在JS里面,加号(+)有三层含义
A)数学中的运算 1+1 = 2
只有两边都是数字,或布尔值,会进行数学运算
B)字符串拼接
只要+两边,有一个操作数是字符串数据类型,就会进行字符串拼接
C)把一个非数字转成数字
<script>
var a = 1;
var b = 2;
// =叫赋值运算符,先看后面,把后面的值,赋值给前面的变量
// a+b + 表示数学中+
var c = a + b;
console.log(c);
console.log( typeof c);
var f1 = true;
var f2 = false;
// true转成1 false转0
var f3 = f1+f2; // +在运算符时,会把布尔数据类型转化成Number数据类型
console.log(f3);
console.log( typeof f3);
</script>
<script>
var str1 = "hello";
// var str2 = " world";
var str2 = 110;
// + 两边的操作数是字符串数据类型
// 此时+ 就叫字符串拼接运算符
// +一边是number 一边是字符串
// JS语言规定:运算符两边的操作数的数据类型要一致
// 如果不一致,会发生隐式类型转化
// 一边的数据类型会转化成另一边的数据类型
// 就会把number的110转化成string的110,只有转化完后,才能保证两侧的数据类型一致
var str3 = str1 + str2; // 会发生隐式类型转化
console.log(str3);
</script>
<script>
let str1 = "110";
// +就表示把一个字符串尝试转化成number
console.log(+str1);
console.log(typeof +str1);
</script>
三、转布尔值
把其它数据类型转成布尔数据类型。
1.Boolean()
语法:Boolean(你要转换的数据)
返回值:转换好的数据
特点:
在JS中,有5个数据会转成false,其它都转成true
=> 0
=> “” 空字符串 空串
=> NaN
=> undefined
=> null
其它的所有的数据都会转化成true。
<script>
console.log(Boolean(0));
console.log(Boolean("")); // "" 叫空字符串 " "不叫空字符串
console.log(Boolean(" ")); // "" 叫空字符串 " "不叫空字符串
console.log(Boolean(NaN));
console.log(Boolean(undefined));
console.log(Boolean(null));
</script>