最近在寫前端代碼時,常常遇到用if判斷是否有值,但有時會忘記if對null、空字符串的判斷。這裏對if判斷作個總結:javascript
輸出序號 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
變量值 | true | false | 0 | 0.0 | '0' | 1 | "1" | 2 | '2' | null | 'null' | undefined | 'undefined' | '' | |
if(變量值)html - if後變量值前端 |
true - true | false - false | false -java 0瀏覽器 |
false -測試 0spa |
true -code 0htm |
true -blog 1 |
true - 1 |
true - 2 |
true - 2 |
false - undefined |
false - null | true - null | false - undefined |
true - undefined |
false - |
if(!變量值) - if後!變量值 |
false - false | true - true | true - true | true - true | false - false | false - false | false - false | false - false | false - false | true - true |
true - true | false - false | true - true |
false - false |
true - true |
測試代碼以下所示:
var test = function() { var data = [ true, false, 0, 0.0, '0', 1, "1", 2, '2', , null, 'null', undefined, 'undefined']; for (var i = 0; i < data.length; i++) { if (data[i]) { console.log(i + ' - true - ' + data[i]) } else { console.log(i + ' - false - ' + data[i]) } } for (var i = 0; i < data.length; i++) { if (!data[i]) { console.log(i + ' - ! true - ' + !data[i]) } else { console.log(i + ' - ! false - ' + !data[i]) } } }();
谷歌瀏覽器打印:
參考:https://www.cnblogs.com/crdanding/p/6273568.html