摘要:
由于javascript语言的特殊性导致它有很多特殊的条件判断,下面我列出了一些特殊的条件判断语句和他们对应的结果。
1 if(condition) { 2 console.log(true); 3 } else { 4 console.log(false); 5 }
condition | result |
undefined | false |
'undefined' | true |
[] | true |
[1] | true |
{} | true |
{a:"a"} | true |
-1 | true |
'a' | true |
null | false |
'null' | true |
'' | false |
'""' | true |
"" | false |
'""' | true |
' ' (空格) | true |
0 | false |
'0' | true |
判断数组中是否包含该元素
1、如果用jQuery的话,$.inArray() 2、如果不用可以自己写个方法
1 Array.prototype.inarray = function(elem) { 2 var l = this.length; 3 while (l--) { 4 if (this[l] === elem) { 5 return true; 6 } 7 console.log(this[l]); 8 } 9 return false; 10 }
Demo: 1 var arr = ['a','b']; 2 3 if(arr.inarray('a')) { 4 5 console.log('a is in array arr'); 6 7 }
判断属性是否存在对象
1、elem in obj 2、obj.hasOwnProperty(elem)
==与===
==只要两个值相等就为真,null==undefined(true)
===两个操作数不仅值相等,类型也得相等 null === undefined(false)
注意:
undefined和'undefined'是不相等的 NaN和NaN也是不相等的 null和'null'也是不相等的
类型判断
typeof | result(string) |
1 | number |
'a' | string |
{} | object |
[] | object |
function fun() {} | function |