Skip to content
Mo's Blog
Go back

JavaScript中的脑筋急转弯

JavaScript
  1. undefined 和未定义(not defined)是一样的吗?

    答:不是。

    var a    // 定义 a 但不赋值
    a        // 回显:undefined
    b        // 回显:Uncaught ReferenceError: b is not defined

    可以看出,a 的值是 undefined,而访问 b 抛出异常。

  2. 考虑下面的函数:

    function test(a) {
        if(a) {
            console.log(true)
        } else {
            console.log(false)
        }
    }

    传入什么参数的时候打印出 false

    答:传入以下几个参数时会为 falsefalseundefinednull''

  3. 继续使用上题的 test 函数。以下调用返回的结果是什么?

    test(0==false)
    test('false'==false)
    test(''==false)
    test(null==false)
    test(null==undefined)
    test(null===undefined)

    结果依次是:true false true false true false

延伸阅读:

  1. 详解一下 JavaScript 中的比较

Share this post on:

Previous Post
Spring Data Rest中关联对象获取与批量对象获取
Next Post
使用web.xml方式配置Spring Data Rest的方式