var  a = ‘0’;
var  b = a ? ‘me’:’hi’;

console.log(b);
//false 有: undefined , 0, ”, false,null
//true  有:’0′,[],{},’ ‘

var  a = ‘ ‘;
var  b = a || ‘为假的’;
console.log(b);
//为假的,有: undefined , 0, ”, false,null
//原样输出的  有:’0′,[],{},’ ‘

var  a = {};
var  b = a &&  ‘为真的’;
console.log(b);
//原样输出的,有: undefined , 0, ”, false,null
//为真的,  有:’0′,[],{},’ ‘

以上三个的测试结果都说明了:undefined , 0 ,”,false,null 为假; ‘0’,’ ‘,[],{}等为真。

js类型测试:
var arr = [‘dd’,’fdf’];
var obj = {};
console.log(Object.prototype.toString.apply(arr));
console.log(Object.prototype.toString.apply(obj));
var s= ”;
console.log(Object.prototype.toString.apply(0));
console.log(Object.prototype.toString.apply(s));
console.log(Object.prototype.toString.apply(false));
console.log(Object.prototype.toString.apply(undefined));
输出为:
[object Array]
[object Object]
[object Number]
[object String]
[object Boolean]
[object Undefined]