数字函数返回 0
Number function returning 0
比如这段代码:
Number("") + Number("")
我希望 return“”(也就是什么都没有)
所以我创建了这个函数
function addthese(x, y){
if (x != ""){
asdf = Number(x) + Number(y)
return Number(asdf)
} else {
return ""
}
}
但是由于某些原因这个函数 returns NaN
任何帮助将不胜感激
也许,您可能在不传递参数的情况下调用该函数。我做了一些快速测试,这是我设法重现 "NaN" 返回的唯一方法。
如果是这种情况,该函数将 "parse" 一个未定义的值,这是不可能的,您将得到丑陋的 NaN。
如果你想缓存所有与undefined、null、false或""相关的情况,请使用以下代码:
function addthese(x, y){
return isNaN(x) || isNaN(y) ? "" : Number(x) + Number(y)
}
尽管Number
函数可以将空字符串转换为0,但对于任何非数字字符串,它都没有任何线索。因此,返回 NaN
。
console.log(Number(""));
console.log(Number(undefined));
console.log(Number("foo"));
比如这段代码:
Number("") + Number("")
我希望 return“”(也就是什么都没有) 所以我创建了这个函数
function addthese(x, y){
if (x != ""){
asdf = Number(x) + Number(y)
return Number(asdf)
} else {
return ""
}
}
但是由于某些原因这个函数 returns NaN
任何帮助将不胜感激
也许,您可能在不传递参数的情况下调用该函数。我做了一些快速测试,这是我设法重现 "NaN" 返回的唯一方法。
如果是这种情况,该函数将 "parse" 一个未定义的值,这是不可能的,您将得到丑陋的 NaN。
如果你想缓存所有与undefined、null、false或""相关的情况,请使用以下代码:
function addthese(x, y){
return isNaN(x) || isNaN(y) ? "" : Number(x) + Number(y)
}
尽管Number
函数可以将空字符串转换为0,但对于任何非数字字符串,它都没有任何线索。因此,返回 NaN
。
console.log(Number(""));
console.log(Number(undefined));
console.log(Number("foo"));