1.
a = a || "defaultValue";
2.
if(!a){
a = "defaultValue";
}
3.
if(a == null || a == "" || a == undefined){
a = "defaultValue";
}
這三種寫法是等價的在javascript中,數據類型可以分爲“真值“和”假值“。下表羅列一些常見的數據類型轉換爲bool時的值
數據類型 | 轉換爲bool後的值 |
---|---|
|
false |
undefined | false |
0 | false |
""(空字符串) | false |
Object | true |
function | true |
1 | true |
0、1之外的數字 | true |
字符串 | true |
在javascript中
"&&"運算符運算法則如下:
如果&&左側表達式的值爲真值,則返回右側表達式的值,否則返回左側表達式的值。
var i = "" && "真值"; //i=""
i = "真值" && "其他真值"; //i="其他真值"
i = "真值" && ""; //i=""
如果||左側表達式的值爲真值,則返回左側表達式的值,否則返回右側表達式的值。
var i = "" || "真值"; //i="真值"
i = "真值" || "其他真值"; //i="真值"
i = "真值" || ""; //i="真值"
下面運用||、&&來簡化程序:
var parameter = "";
function test(parameter){
//return 真值
return true;
}
//真值操作
function operate1(parameter){
return "真值操作";
}
//假值操作
function operate2(parameter){
return "假值操作";
}
var result = test(parameter) && operate1(parameter);
result = test(parameter) || operate2(parameter);
//等價於
result = test(parameter) ? operate1(parameter) : operate2(parameter);
alert(result);//真值操作
//也等價於
if(test(parameter)){
result = operate1(parameter);
}else{
result = operate2(parameter);
}
alert(result);//真值操作
以上主要介紹了javascript的主要邏輯值
1.數字除了1,0外都是true
2.字符串除了空字符串外都是true
3.function 和 object都是true
4.null 和 undefined都是false
5.1是true 0是false