js中0跟空字符串("")比较为什么为true

JavaScript022

js中0跟空字符串("")比较为什么为true,第1张

js中有默认的隐试转换。

以下是数字和字符串隐试转换规则:

任何非零的数为true,0为false。

字符串来说任何非空字符串为 true,空字符串为false。

所以 0转换成布尔为false ,“”转化成布尔为false 所以结果为true,如果想非自动隐试转换判断可以使用=== 或者 !==替代 ==和!== 例如:

console.log(""===0) //false

<html>

<meta>

<title>去掉字符串开头的0</title>

</meta>

<body>

<input type="text" id="num">

<input type="button" value="去掉开头的0" id="btn" onClick="aaa()">

<script LANGUAGE="JScript">

function aaa(){

var num = document.getElementById('num').value

alert(~~num)

}

</script>

</body>

</html>