美文网首页
javascript 中 == 与 === 以及 null un

javascript 中 == 与 === 以及 null un

作者: fangtang0101 | 来源:发表于2018-11-20 11:38 被阅读9次

实际开发中常见的一个问题:我需要判断 函数参数是否 有传,怎么判断

正确写法
function bindEvent(ele) {
    if (ele == null) {
        console.log('没有传参数');
    }
}
看下面案列
function bindEvent(ele) {
    if (ele == null) {
        console.log('null   1111'); 
    }
    if (ele === null) {
        console.log('null   222');  
    }
    if (ele == undefined) {
        console.log('undefined   111');
    }
    if (ele === undefined) {
        console.log('undefined   222');
    }
    if (ele == false) {
        console.log('false   1111');
    }
    console.log(typeof(ele));
}
bindEvent();        // 打印结果:1. null   1111      2. undefined   111   3.undefined   222   4.undefined
bindEvent('');      //  打印结果:1. false   1111     2. string
bindEvent(false);     // 打印结果 : 1. false   1111     2. boolean
结论
  • == 是对比 将两个变量 转换成 Boolean 类型之后 对比(除了 unll 与 undefined)
  • === 先对比 类型,再对比 值,类型不对直接返回 false
  • null 与 undefined 特殊处理
    1. 函数值没有值 实际上是 undefined
    2. null == undefined true
    3. null === undefined false
    4. null(undefined) ==(===) 其他变量 false

null undefined 特殊处理 记忆 即可

相关文章

网友评论

      本文标题:javascript 中 == 与 === 以及 null un

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