JS Logical Insanity

Jon*_*ght 3 javascript logical-operators google-sheets-api

这段代码返回min,这怎么可能?

if(prices[i] == 1000 && min == 53){
  if(prices[i] < min){
    return min;
  }
  return prices[i];
}
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 5

值是字符串.当您使用==它们与数字进行比较时,数字首先(内部)转换为字符串.但是,<将两个字符串作为字符串进行比较,因此字符串"1000"实际上小于字符串"53",因为"1"在字符集中位于"5"之前.