js的一些常用判断小实验

下面是小实验案例

// 0
if(undefined) {
    console.log('1');
} else {
    console.log('0');
}

// 0
if(null) {
    console.log('1');
} else {
    console.log('0');
}

// 0
if('') {
    console.log('1');
} else {
    console.log('0');
}

// 0
if(0) {
    console.log('1');
} else {
    console.log('0');
}

// 1
if('0') {
    console.log('1');
} else {
    console.log('0');
}

// 0
if(false) {
    console.log('1');
} else {
    console.log('0');
}

// 1
if('false') {
    console.log('1');
} else {
    console.log('0');
}

var json = {};
// 1
if (json) {
    console.log('1');
} else {
    console.log('0');
}

// 0
if (json.val) {
    console.log('1');
} else {
    console.log('0');
}

var val;
// 0
if (val) {
    console.log('1');
} else {
    console.log('0');
}

var arr = [];
// 1
if (arr) {
    console.log('1');
} else {
    console.log('0');
}

// 0
if (arr[0]) {
    console.log('1');
} else {
    console.log('0');
}

if (undefined_val) { // 报错
    console.log('1');
} else {
    console.log('0');
}

通过案例,我们能知道:

  1. undefined,null判断结果是false
  2. 0,false判断是false
  3. ‘0’,‘false’判断是true
  4. {},[]空json,空数组判断是true
  5. 空json中的值,空数组中的值判断是false
  6. 定义的变量没有赋值的,判断是false
  7. 未定义的变量会报错

方法论:这些都是单元测试,经常做些单元测试比较,能够更好的更灵活的更清晰的运用知识。

posted @ 2017-02-28 09:49  TBHacker  阅读(313)  评论(0编辑  收藏  举报