这篇文章主要想总结一下js中数据类型的转换,
首先了解一下都有哪些数据类型:
Number:数字(整数,浮点数float)
Array:数组Object:对象布尔类型:
Boolean a==b
特殊类型:Null、Undefined、NaN
自动数据类型转换
其他数据类型转换为字符串:
任何类型的数据和字符串类型的数据做相加(+)操作时,其他数据类型会自动的转换为字符串类型。此时的相加(+)不再是数学意义上的加法,而是表示“拼接”的意思。
例子:
var i= “你好” + “朋友” //结果 你好 类型是string
var i = “10” + 1; //结果 101 类型是string
var i = “10” + true //结果 10true 类型是string
var i = “10” + undefined ; //结果 10undefined 类型是string
var i = “10” + null; //结果 10null 类型是string
其他数据类型转换为数字:
任何数据除了和字符串做相加运算外,与NaN做算术运算的结果始终都是NaN。包括NaN本身和NaN做运算的结果也是NaN。
字符串是数值会自动的转换为数字,否则会转换为NaN
NaN是一个值,这个值的类型是(number)。表现的意思是“不是一个数字”;
例子:
var i= 1 - “2”; //结果 -1 类型是 number
var i = 1 - “我”; //结果 NaN 类型是 number
true会自动的转换为1 false会自动的转换为0
例子:
var i = 10 * “1”; //结果 10 类型是 number
var i = 10 / “1”; //结果 10 类型是 number
var i = 10 + true; //结果 11 类型是number
var i = 10 * false; //结果 0 类型是 number
null会自动的转换为0, undefined会自动的转为NaN
例子:
var i = 10 + null ; //结果是10 类型是number
var i = 10 + undefined //结果是NaN 类型是number
其他数据转换布尔:
Boolean(数据);
数字转Boolean
非0数字->true;
0 --> false;
字符串转Boolean
非空字符串(包含空格)-> true;
空字符串 -->false
null和undefined转换Boolean都是false
强制数据类型转换
勤奋积累,善于总结(逆战班 )