【问题标题】:Using numbers converted into a string in a function在函数中使用转换为字符串的数字
【发布时间】:2016-10-29 21:35:27
【问题描述】:

 function getNumber(number){
  number = number.toString();
  if(((number[0]===2) && number[1]===4 || number[1]===6) && number.length===15){ 
    console.log("finally"); 
  } 
  else{
    console.log("this should work"); 
  }
}

getNumber(265674758686922);

为什么这个控制台不记录“Finally”,我可以做些什么来实现这个功能?

【问题讨论】:

  • 这是javascript吧?如果是,请标记问题。
  • 是的,但是我看到你打败了我
  • 使用.toString() 将数字转换为字符串后,它不再是数字。 number[0]===2 等永远不会是真的,因为它会将字符串与严格的 === 比较的数字进行比较。你必须这样做number[0]==="2"等等。

标签: javascript tostring


【解决方案1】:

比较操作数必须是字符串,并且您必须注意 &&|| 运算符从左到右的求值顺序....

if( number[0]==="2" && (number[1]==="4" || number[1]==="6") && number.length===15)
                       ^                                  ^
                       |                                  |

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多