0
// mystring contains dynamic text. Sometimes can be
// null
var a = mystring.split(" ");
var proc = a[0] + " " + a[1];

如果a不包含文本,split则在 proc 之后未定义。如果我尝试将其值分配给文本框,则结果为“未定义”:

mytextbox.val(proc);

在此处输入图像描述

所以我需要一种方法来使 proc 始终具有一个值,至少是一个空字符串。

4

2 回答 2

2
var proc = "";
if (mystring !== null) { // omit this if you're sure it's a string
    var a = mystring.split(" ");
    if (a.length > 1) {
        proc = a[0] + " " + a[1];
    }
}

我很确定您proc的不是undefined,而是字符串" undefined"

于 2012-11-29T17:09:12.360 回答
2

你可以使用

(mystring || " ")

它将评估mystring是否不是null,或者" "如果是。

或者,您可以if围绕整个事情发表声明:

if (mystring != null) {
    // stuff
} else {
    var proc = "";
}
于 2012-11-29T17:06:02.293 回答