Javascript假的5种情况:
Falsy values in Javascript
Here's a complete list of falsy values in Javascript:
1> false (the boolean false is also considered falsy)
2> "" (an empty string)
3> 0 (zero)
4> null
5> undefined
6> NaN (a property that represents the "Not-a-Number" value -
indicating that a value is not a legal number)
[color=red][b]为真的: 0 == 0 、"" == "" 、 null == null 、 undefined == undefined (注:NaN != NaN,NaN不等于他自己 )
0 == "" 、0 == false 、"" == false 、 undefined == null 。
其他情况都为假![/b][/color]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript_false_condition</title>
<style type="text/css"></style>
<script type="text/javascript">
/*
假的5种情况:
Falsy values in Javascript
Here's a complete list of falsy values in Javascript:
1> false (the boolean false is also considered falsy)
2> "" (an empty string)
3> 0 (zero)
4> null
5> undefined
6> NaN (a property that represents the "Not-a-Number" value -
indicating that a value is not a legal number)
*/
console.log("------------0------------");
console.log("0 == 0 || " + (0 == 0) ); // true
console.log("0 == false || " + (0 == false) ); // true
console.log("0 == \"\" || " + (0 == "") ); // true
console.log("0 == null || " + (0 == null) ); // false
console.log("0 == undefined || " + (0 == undefined) ); // false
console.log("0 == NaN || " + (0 == NaN) ); // false
console.log("------------\"\"------------");
console.log("\"\" == \"\" || " + ("" == "" )); // true
console.log("\"\" == false || " + ("" == false )); // true
console.log("\"\" == 0 || " + ("" == 0 )); // true
console.log("\"\" == null || " + ("" == null )); // false
console.log("\"\" == undefined || " + ("" == undefined )); // false
console.log("\"\" == NaN || " + ("" == NaN )); // false
console.log("------------null------------");
console.log("null == null || " + (null == null) ); // true
console.log("null == undefined || " + (null == undefined )); // true
console.log("null == false || " + (null == false) ); // false
console.log("null == 0 || " + (null == 0 )); // false
console.log("null == \"\" || " + (null == "") ); // false
console.log("null == NaN || " + (null == NaN )); // false
console.log("------------undefined------------");
console.log("undefined == undefined || " + (undefined == undefined) );// true
console.log("undefined == null || " + (undefined == null) ); // true
console.log("undefined == false || " + (undefined == false) ); // false
console.log("undefined == 0 || " + (undefined == 0) ); // false
console.log("undefined == \"\" || " + (undefined == "") ); // false
console.log("undefined == NaN || " + (undefined == NaN) ); // false
console.log("------------NaN------------");
console.log("NaN == NaN || " + (NaN == NaN) ); // false
console.log("NaN == false || " + (NaN == false) ); // false
console.log("NaN == null || " + (NaN == null) ); // false
console.log("NaN == 0 || " + (NaN == 0) ); // false
console.log("NaN == \"\" || " + (NaN == "") ); // false
console.log("NaN == undefined || " + (NaN == undefined) );// false
/*
为真的: 0 == 0 、"" == "" 、 null == null 、 undefined == undefined (注:NaN != NaN,NaN不等于他自己 )
0 == "" 、0 == false 、"" == false 、 undefined == null 。
其他情况都为假!
*/
</script>
</head>
<body>
</body>
</html>
参考资料:
http://www.programmerinterview.com/index.php/javascript/falsy-in-javascript/