隐式转换和强制转换

隐式转换:

   场景——数学运算符:+ - * /
   规则:
		+:当任意一边出现字符时,“+”会把数值类型转换成字符类型,此时 + 代表拼接      //"1"+1=11;
		-、*、/:出现纯数字字符时,会转换成数值类型处理,出现非数字类型时,会出现“NaN    //1-"1"=0;
   场景——关系运算符:> < >= <= != == ===
   规则:
		当只有一边为纯数字字符时,会转换成数值比较      //22<"44"   会转化为  22<44; true
		当两边全部是数字字符时,会按照字符串对比的规则对比(逐位比较,得到结果,停止比较)   //"2">"12"  true
		==:若有字符类型会转换成数值类型,比较的是值      //1=="1"; true
		===:若有字符类型不会转换,比较的是值和数据类型,全等     //1==="1"; false
   场景——if语句:
   规则:
		0、“”、null、undefined、NaN在if的()内会转换为false

强制类型转换:

   字符转数值:
		parseInt():从左向右依次转换,能转则转,不能转停止;如果第一位就不能转,直接NaN;不识别小数点。
		parseFloat():等同于parseInt,同时可以识别小数点
		Math.round():严格转换,不允许出现任何非数字的字符,否则NaN;取最接近的整数
		Number():严格转换,不允许出现任何非数字的字符,否则NaN;直接转换
		-、*、/:利用数学运算符的隐式转换,把数值转换成字符
   数值转字符:
		toString():直接将数值转换成字符
		toFixed():直接转换,参数为保留的小数位数
		+:利用数学运算符的隐式转换,+连接一个空字符
   其他类型的转换:
		用+、-、*、/ 对true、false、null进行转换可得,true为1,false为0,null为0

你可能感兴趣的:(js,js,转换)