考察的是对 == 运算符和 toString 方法的理解

代码如下:

var a = {i:1,toString: function(){return a.i++;}}
if(a == 1 && a == 2 && a == 3){
  console.log("执行了");
}

另外还需要注意的是,toString方法可以用来判断数据类型。代码如下:

Object.prototype.toString.call(value)
  • 数值:返回[object Number]。
  • 字符串:返回[object String]。
  • 布尔值:返回[object Boolean]。
  • undefined:返回[object Undefined]。
  • null:返回[object Null]。
  • 数组:返回[object Array]。
  • arguments 对象:返回[object Arguments]。
  • 函数:返回[object Function]。
  • Error 对象:返回[object Error]。
  • Date 对象:返回[object Date]。
  • RegExp 对象:返回[object RegExp]。
  • 其他对象:返回[object Object]。