zoukankan      html  css  js  c++  java
  • 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. 未定义的变量会报错

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

  • 相关阅读:
    HDOJ_ACM_超级楼梯
    HDOJ_ACM_下沙的沙子有几粒?
    杭电_ACM_How Many Trees
    HDOJ_ACM_Tiling_easy version
    HDOJ_ACM_母牛的故事
    HDOJ_ACM_小兔的棋盘
    HDOJ_ACM_一只小蜜蜂
    杭电_ACM_Count the Trees
    HDOJ_ACM_折线分割平面
    Sun Solaris下JAVA以及JSP开发环境的配制小记
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6477453.html
Copyright © 2011-2022 走看看