簡體   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