测试代码
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"/><title>""==false==0</title>
<style id="FirstStyleTag">
legend{font-size:20px;}
table{border-collapse:collapse; }
th,td{border:1px solid grey}
.CodeIB,.CodeB{padding:0px 10px; border-left:10px solid blue; background-color:black; color:gold; font-family:Consolas; white-space:pre;}
.CodeB{display:block} .CodeIB{display:inline-block;}
.Flex010{display:flex; }
.Flex010>:nth-child(2){padding:0 10px; display:flex; align-items:center; }
.Flex010>:nth-child(3){white-space:pre; word-spacing:1em; display:flex; align-items:center;}
.关键字>span{padding:12px;}
.关键字>:nth-child(1){color:red;}
.关键字>:nth-child(2){color:orange;}
.关键字>span:nth-child(3){color:purple;}
.关键字>span:nth-child(4){color:green;}
.关键字>span:nth-child(5){color:red;}
</style><script>function dgebi(x){if(x && x.constructor===String)x=document.getElementById(x); return x;} ; function dcept(p,tn){var e=document.createElement(tn); p=dgebi(p).appendChild(e); return e;} ; const FirstStyleTag=dgebi("FirstStyleTag");
var crtTDYS; addEventListener("mouseup",function(){crtTDYS=null;}); addEventListener("mousemove",function(ev){ if(crtTDYS && ev.buttons===1){
crtTDYS.style.left=(parseInt(crtTDYS.offsetLeft)+ev.movementX)+"px"; crtTDYS.style.top=(parseInt(crtTDYS.offsetTop)+ev.movementY)+"px"; }});
function keTuoDongElementOnmousedownFunction(ev){crtTDYS=this;} function keTuoDong(e){e=dgebi(e); e.addEventListener("mousedown",keTuoDongElementOnmousedownFunction); }
function codeResult(e){e=dgebi(e); let code = e.querySelector("code"); code.nextElementSibling.nextElementSibling.innerHTML=eval(code.textContent);}
</script></head><body style="margin:0; font-size:16px; "><header id="BodyHeader" style="text-align:center;"><h1>""==false==0</h1></header><div id="BodyBody">
<h2 style="margin-left:5px;">结论:</h2>
<ul style="font-size:20px;">
<li>[ undefined , null , false , <span style="position:relative;">""<explain style="position:absolute; text-align:center; left:-1em; top:-2.5em; width:3em; ">空字符<br/>↓</explain></span> , 0 ] 这五个在条件判断中均为false不成立 , 但并不所有双等号相等</li>
<li class="关键字"><span>undefined</span> <span>null</span> <span>""</span> <span>0</span> <span>false</span></li>
<li>按双等号相等可分为两组👇<ol>
<li>null==undefined</li>
<li>""==false==0</li>
</ol></li>
</ul>
<fieldset><legend style="font-size:60px;">0==''==flase</legend>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
0==""
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
false==""
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
0==false
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
0===""
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
false===""
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
0===false
</code><label>结果: </label><label></label></div>
</fieldset>
</fieldset>
<fieldset><legend style="font-size:60px;">undefined==null , undefined!==null;</legend>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null==undefined
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null===undefined
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null!==undefined
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null!=undefined
</code><label>结果: </label><label></label></div>
</fieldset>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null==false
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null==0
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null==""
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset><legend style="font-size:50px; word-spacing:1em;">undefined null false "" 0 五个均为不成立</legend>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
undefined ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
null ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
false ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
0 ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
"" ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
1 ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
"0" ?"真":"假"
</code><label>结果: </label><label></label></div>
</fieldset>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})(undefined);
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})(null);
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})(false);
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})(0);
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})("");
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})(1);
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})("0");
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
((x)=>{if(x)return"真";return"假";})(globalThis);
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!undefined
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!null
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!false
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!0
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!""
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!"0"
</code><label>结果: </label><label></label></div>
</fieldset>
<fieldset class="Test"><legend></legend>
<div class="Flex010"><code class="CodeIB">
!1
</code><label>结果: </label><label></label></div>
</fieldset>
</div><footer id="BodyFooter"></footer><style id="LastStyleTag"></style><script>const BodyHeader=dgebi("BodyHeader") , BodyBody=dgebi("BodyBody") , BodyFooter=dgebi("BodyFooter") , LastStyleTag=dgebi("LastStyleTag") , LastStyleSheet=LastStyleTag.sheet;
for(let e of document.querySelectorAll("fieldset.Test")){codeResult(e); if(e.children[0].innerHTML==="")e.children[0].innerHTML=e.children[1].children[0].innerHTML;}
</script></body></html>
结果截图