js中的if语句
js中的if语句
if(condition) {
statement
}
if(condition) {
sattement1
} else {
statement2
}
if(condition) {
statement1
} else if() {
statement2
} else {
statement3
}
其中condition可以是任意表达式,而且对这个表达式求值的结果不一定是布尔值。
ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转化为一个布尔值。
Boolean()转换rules
各种数据类型及其对应的转换规则。
数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
Boolean | true | false |
Undefined | 不适用 | undefined |
String | 任何非空字符串 | ”“(空字符串) |
Number | 任何非零数字值(包括负数、正负无穷大) | 0和NaN |
Object | 任何对象(包括{ }、[ ] ) | null |
Function | all(所有的) | no(无) |
Boolean()转换未声明的变量会报错。
Boolean()转换的demo
Boolean类型
var a = true;
var b = false;
console.log(Boolean(a)); // true
console.log(Boolean(b)); // false
Undefined类型
var c = undefined;
var d;
console.log(Boolean(c)); // false
console.log(Boolean(d)); // false
console.log(Boolean(x)); // Error: Uncaught ReferenceError: x is not defined
String类型
var str1 = "a";
var str2 = " ";
var str3 = "false";
var str4 = "";
console.log(Boolean(str1)); // true
console.log(Boolean(str2)); // true
console.log(Boolean(str3)); // true
console.log(Boolean(str4)); // false
Number类型
var num1 = 1;
var num2 = -1;
var num3 = Infinity;
var num4 = -Infinity;
var num5 = 0;
var num6 = NaN;
console.log(Boolean(num1)); // true
console.log(Boolean(num2)); // true
console.log(Boolean(num3)); // true
console.log(Boolean(num4)); // true
console.log(Boolean(num5)); // false
console.log(Boolean(num6)); // false
Object类型
var obj1 = {
name: "peng"
};
var obj2 = {};
var obj3 = [];
var obj4 = null;
console.log(Boolean(obj1)); // true
console.log(Boolean(obj2)); // true
console.log(Boolean(obj3)); // true
console.log(Boolean(obj4)); // false
Function类型
var f1 = function(){};
var f2 = function f2(){};
var f3 = function(){ return false };
console.log(Boolean(f1)); // true
console.log(Boolean(f2)); // true
console.log(Boolean(f3)); // true
console.log(Boolean(f3())); // false