javascript中 if(變量)和if(變量==true)的區別


if(判斷表達式){
執行內容
}

如果判斷表達式為true,則執行括號中的內容。
這里,變量如果不為0,null,undefined,false,都會被處理為true。只要變量有非0的值或是某個對象,數組,字符串,都會認為true
變量==true,變量為bool值,並且為true,才認為符合。

 

var a;//定義一個變量沒有初始化

if(a){alert(1) return};//這里不會執行,因為a沒有值,所以為false;

a=0//這里給a賦值為0

if(a){alert(1) return};//在來執行這句話,因為a=0;0代表false,所以還是不執行;

a=1或者a=“123”;

if(a){alert(1) return};//這里a=除0以為的數,或者字符或者obj都表示為真,這里的alert就會執行!


var b;

if(b=="")和if(b==null)這里誰會執行呢,當然是后面一種,因為b是沒有定義值的,如果是var b="",這樣的話就會執行第一種;

b = 1;

if(b==1)和if(b=="1")這里哪一種會執行呢,答案是兩種都會執行!因為js的==表示的是數值相等;


var c;

c=0;

if(c==false)會不會執行呢,答案是肯定的;

c=1;

if(c==true)也一樣會執行!但是我們看下面這樣會執行么?

c=2或者c="admin"

if(c==true)alert(1)這句話會執行么,答案是否定的,因為默認表示的是,0為false而1為true,對於其他的就沒有這么定義,所以這里不會執行,當然如果你是這樣if(c)那這里就會執行了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM