var a, b = -1, c = 1, d = 0, e = null, f = undefined, g = '', h = "", i = false, j = true, k = [], l = {};
if (a) {
document.write("a = "+ a +" ; a is true<br>");
} else {
document.write("a = "+ a +" ; a is false<br>");
}
if (b) {
document.write("b = "+ b +" ; b is true<br>");
} else {
document.write("b = "+ b +" ; b is false<br>");
}
if (c) {
document.write("c = "+ c +" ; c is true<br>");
} else {
document.write("c = "+ c +" ; c is false<br>");
}
if (d) {
document.write("d = "+ d +" ; d is true<br>");
} else {
document.write("d = "+ d +" ; d is false<br>");
}
if (e) {
document.write("e = "+ e +" ; e is true<br>");
} else {
document.write("e = "+ e +" ; e is false<br>");
}
if (f) {
document.write("f = "+ f +" ; f is true<br>");
} else {
document.write("f = "+ f +" ; f is false<br>");
}
if (g) {
document.write("g = "+ g +" ; g is true<br>");
} else {
document.write("g = "+ g +" ; g is false<br>");
}
if (h) {
document.write("h = "+ h +" ; h is true<br>");
} else {
document.write("h = "+ h +" ; h is false<br>");
}
if (i) {
document.write("i = "+ i +" ; i is true<br>");
} else {
document.write("i = "+ i +" ; i is false<br>");
}
if (j) {
document.write("j = "+ j +" ; j is true<br>");
} else {
document.write("j = "+ j +" ; j is false<br>");
}
if (k) {
document.write("k = "+ k +" ; k is true<br>");
} else {
document.write("k = "+ k +" ; k is false<br>");
}
if (l) {
document.write("l = "+ l +" ; l is true<br>");
} else {
document.write("l = "+ l +" ; l is false<br>");
}
if (NaN) {
document.write("NaN = "+ NaN +" ; NaN is true<br>");
} else {
document.write("NaN = "+ NaN +" ; NaN is false<br>");
}
document.write("m在这里不会输出" + m);//出现未定义的错误
if (m) {
document.write("m is true<br>");
} else {
document.write("m is false<br>");
}
输出结果为:
a = undefined ; a is false
b = -1 ; b is true
c = 1 ; c is true
d = 0 ; d is false
e = null ; e is false
f = undefined ; f is false
g = ; g is false
h = ; h is false
i = false ; i is false
j = true ; j is true
k = ; k is true
l = [object Object] ; l is true
NaN = NaN ; NaN is false
由此可以看出:
“”,’’,0,undefined,null,false,或者是NaN时,作为if的判断条件时均作为false对待,其他为true,尤其当变量作为对象的时候只要这个对象变量的值不为null,那么就是true。