摘要:
由于javascript语言的特殊性导致它有很多特殊的条件判断,下面我列出了一些特殊的条件判断语句和他们对应的结果。
if(condition) {
console.log(true);
} else {
console.log(false);
}
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、如果不用可以自己写个方法
Array.prototype.inarray = function(elem) {
var l = this.length;
while (l--) {
if (this[l] === elem) {
return true;
}
console.log(this[l]);
}
return false;
}
Demo:
var arr = ['a','b']; if(arr.inarray('a')) { console.log('a is in array arr'); }
判断属性是否存在对象
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 |