JS基础3

作者: 饥人谷_hak | 来源:发表于2017-04-01 10:02 被阅读8次

    assert(断言)

    function assert(value) {
        if (value === true) {
            console.info('[测试通过]')
        }else {
            console.error('[测试不通过]')
        }
    }
    
    

    上面的代码 声明了一个函数assert , 它有一个可接受的值是value . if 这个值是true , 就执行console.info('[测试通过]') . 否则else 就执行console.error('[测试不通过]')

    假设执行下面的代码

    var a = '1\n2'   
    

    想知道a的length , 但是又不确定 , 就可以用assert

    assert(a.length === 3)
    

    调用刚才的函数assert , 断言a的长度是3 , 结果是真的 , 控制台显示 [测试通过]

    JS的内置assert是console.assert()

    falsy值

    • 相当于false 的值就是 falsy值 下面就是JS中的falsy <a href='https://developer.mozilla.org/en-US/docs/Glossary/Falsy'>详情点击Falsy</a>
    if (false)
    if (null)
    if (undefined)
    if (0)
    if (NaN)
    if ('')
    if ("")
    if (document.all)
    

    判断 真假 , !是取正 , !!就是取反 , 0是false , !就是取反 , !!就是取正 , 0本身就是falsy值所以!! 返回false


    Q20170331171332.png

    && 和 ||

    Q20170331171332.png
    • && 返回 Falsy
    • || 返回 Truthy
    • 返回的是第一个 Falsy 或 Truthy , 不管后面

    再看这段代码

    function assert(value , name) {
        name = name || ''
        if (value === true) {
            console.info('[测试通过]' + name)
        }else {
            console.error('[测试不通过]' + name)
          //throw new Error("失败")   ←←加到这里
        }
    }
       
    

    还可以用 throw new Error('assert失败') .它的作用是抛出错误

    相关文章

      网友评论

          本文标题:JS基础3

          本文链接:https://www.haomeiwen.com/subject/nitiottx.html