繁体   English   中英

NaN在Javascript字符串连接中

[英]NaN in Javascript string concatenation

拿这个数组:

errors [
    "Your name is required.", 
    "An email address is required."
]

我试图迭代它并创建一个字符串,如:

"Your name is required.\nAn email address is required.\n"

使用此代码:

var errors = ["Your name is required.","An email address is required."];

if (errors) {

    var str = '';

    $(errors).each(function(index, error) {
        str =+ error + "\n";
    });

    console.log(str); // NaN

}

我在控制台中获得了NaN 为什么这样,我该如何解决?

提前致谢。

=++= 首先是x = +y ,另一个是x = x + y

+xNumber(x)字面上将变量转换为Number(x)的快捷方式。 如果无法执行操作,则返回NaN

+=当其中一个部分(左侧或右侧)具有string类型时,它就像字符串连接一样。

你得到这个结果的原因是因为你写的是=+而不是+= 它被视为:

str = (+error) + "\n";

+error蒙上error的数量,这将是NaN ,因为它不能被转换,所以你去。

但你可以做errors.join("\\n")而不是更容易!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM