1)转化为Boolean.
①字符串转化为Boolean,结果为true和false。
非空字符串转化为true,空字符串转化为false。
var str="123"
console.log(Boolean(str));
此时转换为true。
②数字转换成Boolean,口诀:除undefined null 0 NaN false 空字符串转化成false,其余都是true(eg:整数,浮点数,Infinity,-Infinity).
③object转Boolean都是true(不管对象是不是真对象)。
④数组转布尔值都是true。
2)转化为字符串。(所有数据类型都能转化为字符串)
String() -> 把一个值转化成为字符串 -> 简单数据类型 加引号;
变量.toSting() 转化的结果和String的结果一样.
eg:①数字类型转化为字符串;
var num="123"
console.log(String(123));
②object转化为字符串还是object.
console.log (String({}));
③Array转字符串;
console.log (String([]));
此时结果为空字符串。
总:把数组里边的每一项都转为字符串,然后用逗号隔开;
console.log( String([1,2,3,true, {}]) )
用变量.toString转换;
var arr=[123];
console.log(arr.toString(123));
注意:null和undefined不能转化。
④ 如果一个数字,用.toString()转为字符串 ;
var num="10"
console.log(num.toString());
3) 所有类型的数据都可以转化成为数字
(只有纯数字和空字符串才能转化为数字)
[NaN not a number(我不是一个数字)]
Number(数据)
转化规则和转化结果和Number一样
parseInt()
parseFloat()
①
console.log(Number(""));
此时结果为0.
口诀:undefined=>NaN;
null=>0;
true=>1;
false=>1;
{}=>NaN;(对象转数字,永远是NaN)。注意:对象不能直接转化为数字: 会先把对象用.toString()转化成为字符串,然后在把这个字符串转为数字,{}.String() [object Object] 为隐式类型转换。
②Array转数字;
console.log(Number([]));
此时结果为0;若是[1],则结果为1。若是[1,2],则结果为NaN.
4;parseInt(从第一个非空字符串开始解析,只要开头不是数字之外的其他字符,就可以转化成数字)(可以以二进制,八进制,十进制,16进制解析字符串)
var num="123a";
console.log ( parseInt(num));
此时转化为123,若是123.1,仍然转化为123,即parseInt不会识别小数点后的数字。
5:parseFloat(可以认识小数点,但是开头不识别字母,其余都识别,同时只能以10进制去解析字符串)。
var num="123.1";
console.log(parseFloat(num));
此时就可以转化为123.1,