小于和大于10

Dou*_*ary 5 javascript

我正在进行随机代码挑战,我无法弄清楚我的生活将如何成为可能

function(obj) {
   if ( (obj < 10) && (obj > 10) ) {
     return true;
   }
}
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情是设置一个间隔来将变量更改为0ms(最终成为浏览器默认值),使obj成为一个生命函数,每次使用它时都会递增一个全局变量,以及一大堆其他看似不太有用的方法.这里有任何想法,或指出一些我不知道的明显事物吗?

JJJ*_*JJJ 15

线索在变量名称"obj"中.比较对象时,valueOf()会调用它们的方法.如果我们提供的valueOf方法每次都返回一个不同的值:

function test(obj) {
   if ( (obj < 10) && (obj > 10) ) {
     return true;
   }
}

var Obj = function() {
  var flag = false;
  
  this.valueOf = function() {
    if( flag ) {
      return 11;
    }

    flag = true;
    return 9;
  }
}

console.log( test( new Obj() ) );
Run Code Online (Sandbox Code Playgroud)

上面的对象toValue在第一次调用时返回9(9 <10),从那时起返回11(11> 10).