js中的“==”和“===”比较、以及强制类型转换的方法

来源:互联网 发布:js中获取父节点 编辑:程序博客网 时间:2024/05/16 14:34
"=="用于判断两者相等,比较时可以自动转换类型,"==="用于严格比较两者相等,要求相比较的两者必须是同一类型
console.log("1"==true);//trueconsole.log(1===true);//false

Number与Boolean类型进行“==”比较时,只有1==true,0==false,返回值为true,其余返回为false

console.log("4"==true);//falseconsole.log(-1==false);//falseconsole.log(0==false);//true

true和false进行强制转换为Number类型时,true为1,false为0

console.log(Number(true));//1console.log(Number(false));//0

Number转化为Boolean时,非0转化为true,0转化为false

console.log(Boolean(1));//true      console.log(Boolean(3));//true       console.log(Boolean(0));//false      console.log(Boolean(-5));//true



强制类型转换

1.转换函数法parseInt()将值转换为整数、parseFloat()将值转换为浮点数,只对字符串类型的调用,其他的会返回NaN(not  a number)

 console.log(parseInt("23ad4"));//234 console.log(parseInt("ox12"));//NaN
 console.log(parseInt("22.3"));//22 console.log(parseInt(22.3));//22 console.log(parseInt("A"));//NAN console.log(parseInt("011",8));//9,基模式

2还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
ECMAScript中可用的3种强制类型转换如下:

Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。


3.利用js变量弱类型进行转换

var str="12";console.log(typeof str);//stringx=str-1;console.log(x);//20