if (info && info.code == 0) {}

逻辑分析

1、info 的值检查:

如果 info 是 null、undefined、false 等假值,则 info && 的结果直接为 false,后面的 info.code == 0 不会执行,因此不会报错。

2、info.code 的访问:

如果 info 存在,但没有 code 属性,info.code = undefined。( undefined == 0 会返回 false)

如果 info 存在,info.code = null。( null == 0 会返回 false)

if (info && info.code){}

逻辑分析

1、info 是否存在:

info 为真值时继续检查。

2、info.code 是否为真值

如果 info.code 是 0,则为假值,条件表达式结果为 false。

以下值在条件语句中被认为是 false

  • false
  • 0
  • ""(空字符串)
  • null
  • undefined
  • NaN

if (info && info.code !== undefined) {}

逻辑分析

1、info 是否存在:

info 为真值时继续检查。

2、只要 info.code 存在(包括 0),都会触发

作者 admin

百度广告效果展示