隐式转化的条件及转换规律
页面中所有的内容;只有字符串类型的数据才能显示,也就是说我们在网页上看到的所有页面中的内容都是字符串数据类型的。比如图片,数字,文字…
所有的隐式转化都和运算结果有关。
隐式转化就是当你要对不同的数据类型使用算数运算符进行运算时编译器会自动转化成相对应的数据类型。
注意:控制台console并不会进行隐士转换。
数组在页面永远都是隐式转化后的字符串样式,而控制台不会自动给数据类型进行隐式转化。
字符串和数字类型做除加法以外的运算,隐式转化结果:
- 空字符串会转化为数字类型的数字0;
- 纯数字字符串会转化为里面数字大小的数字。
- 非空非纯数字字符串的隐式转化结果为NaN,NaN和任意数据做运算结果都为NaN.
数字类型和布尔值,undefined, null ,做除加法以外的运算隐式转化的结果
- 数字类型和布尔值进行运算true转化为数字1,false转化为数字0
- 数字类型和undefined进行运算会先转换为字符串’undefined’然后就是上面说的非空非纯数字类型的字符串会转化为NaN.
- 数字类型和null进行运算会转换为0,因为null就像一个空字符串。
数组和数字类型进行除加法以外的运算
- 数组里的值会先转换为字符串类型包括标点符号,然后在转换为数字类型
如果里面有其他除数字以外的东西则结果为NaN
布尔值和布尔值进行运算都会转化为数字类型
除数字类型,其它类型和字符串做运算不会隐式转化