最近在写前端代码时,常常遇到用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