關于if語句中真假的判斷..

自己總是記不清...混淆
第一類已定義的變量但未賦值在if中認為是假;
第二類已定義的變量,賦值為空字符串在if中認為是假,賦值為其他的字符串,也就是是字符串中有字符(即使是"空格字符")就認為是真;
第三類已定義的變量,賦值為true在if中認為是真,賦值為false,則為假,這和其他語言中bool的類型的變量是一樣的;
第四類已定義的變量,賦值為0(不管是0,還是0.0)在if中則為假,其他數值認為是真,這和c語言中數值的類型的變量是一樣的;
第五類js中的特殊值null,undefined,都是假(由于在js中未定義的變量默認值是undefined,因此這也就解釋了第一類情況);
第六類已定義的函數,根據調用方式又分為兩種
第一種:不帶括號的,如果定義了就是真,沒有定義會報錯,
第二種:帶括號的,其實相當于調用函數,自然是根據函數的返回值判斷真假;
第七類已定義的對象,未賦值時在if中則為假,賦值后是真(其實由于在js中變量在沒有賦值時是沒有類型的,因此和第一種情況是一樣的);
第八類已定義的對象的屬性字段,和單獨的變量是一樣的,例如數值型為0時是假,其他為真,字符串型是為空值時是假,其他為真;
第九類已定義的對象的方法,和單獨的函數是一樣的
不加括號是如果沒定義就是假,加了括號相當于調用方法,就是根據返回值判斷真假;
總結:最基本是null,undefined,if判斷都是假;對于數值類型,0是假,其他為真;對于字符類型空字符串是假,其他為真,對于方法屬性,如果定義了就是真,否則就是假,其他所有都可以看做是這些的變相應用。

借鑒于關于if語句的真假的判斷

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,438評論 0 5
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,889評論 0 38
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發現簡書還為我保存起的...
    Jenaral閱讀 2,841評論 2 9
  • 一、PyCharm的基本使用1.1、注釋:為了方便自己或者其他人查看單行注釋:用 # 號單行注釋多行注釋: 用 ...
    IIronMan閱讀 8,894評論 3 18
  • 匆忙之間完成任務 今天早上去黨校學習,誰知座位已滿,趙玲便拉我一同回了。我送趙到茗田花園后,自己就回家了。把網絡培...
    趙誠彬閱讀 151評論 0 1