只是为了兴趣。据我们所知,NaN正沿着边计算的方向扩展。
1 + NaN => NaN有没有能阻止这种扩散的操作员。我的意思是:
<operator> NaN => number或
NaN <operator> <operand> => number或
<operand> <operator> NaN => numberNaN =>数
发布于 2022-01-21 21:18:28
实际上,在Ecmascript中,数字的(**)运算符的定义。在第二个操作数为+0或-0时有一个特例。
所以实际上:
console.log(NaN ** 0) // will log 1发布于 2022-01-21 21:34:13
Javascript有一个检测NaN的内置方法,但是您需要为每个操作数检查这个“可能的数字”。
let possibleNumber = "4f";
console.log(isNaN(Number(possibleNumber)));
possibleNumber = "44";
console.log(isNaN(Number(possibleNumber)));输出:
true
false您可以执行一些函数来检查并返回所需的数字。
function checkIfIsNaN(number,numIfTrue,numIfFalse){
if(isNaN(Number(number))){ return numIfTrue} else{return numIfFalse};
}
console.log(checkIfIsNaN("44",4,10));https://stackoverflow.com/questions/70807712
复制相似问题