数字函数返回 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"));