2016-11-21 45 views
-2

當我嘗試使用此代碼不能正常工作:爲什麼在設置三值運算的輸入值時返回true?

document.querySelector('#myInput').checked = false == 'false' ? false : true; // This set true 

但此代碼的工作:

var checkedBoolean = false == 'false' ? false : true; // return false 
document.querySelector('#myInput').checked = checkedBoolean; // set true 

爲什麼?謝謝你,這是出於好奇..

+0

**修正爲第二代碼註釋:。 document.querySelector( '#myInput')檢查= checkedBoolean; //設置爲false –

+4

'假==「false''將總是返回'FALSE',它變成TRUE;在三元 – mcrvaz

回答

3

好,它始終是true因爲false是永遠等於'false'所以它會返回每次true。甚至當我測試了一下,每一次(甚至與checkedBoolean返回true。

<button id="button1">With Variable</button> 
 
<button id="button2">Without Variable</button> 
 

 

 
<button onclick="myFunction()">Run</button> 
 

 
<script> 
 
function myFunction() { 
 
    document.getElementById("button2").disabled = false == 'false' ? false : true; //returns true 
 
    var checkedBoolean = false == 'false' ? false : true; 
 
    document.getElementById("button1").disabled = checkedBoolean; //returns true 
 
} 
 
</script>

點擊運行按鈕來查看結果。

+0

是的,對不起是我的錯誤。 –

相關問題