因为使用.toString()作为空变量不起作用,并且我无法在我的特定应用程序中检查其中的每一个。Javascript,String:获取Javascript var作为字符串
我知道这是一个愚蠢而简单的问题,现在我的答案肯定是盯着我。
因为使用.toString()作为空变量不起作用,并且我无法在我的特定应用程序中检查其中的每一个。Javascript,String:获取Javascript var作为字符串
我知道这是一个愚蠢而简单的问题,现在我的答案肯定是盯着我。
非级联的路线是使用字符串()构造:
var str = new String(myVar); // returns string object
var str = String(myVar); // returns string value
当然,var str = "" + myVar;
是短且容易。请注意,这里的所有方法都会将值为null的变量转换为"null"
。如果你想解决这个问题,你可以使用||
设置默认当一个变量的值是“falsey”像空:
var str = myVar || "";
只是,只要你知道和假也将导致""
在这里。
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String
......怎么样?
var theVarAsString = "" + oldVar;
什么
var str = (variable || "");
//or
(variable || "").toString();
当然,你会得到这样的false
,undefined
等等,太多,但是这将是一个空字符串,而不是"null"
String(null)
返回"null"
,如果表单域的值本身为null
,则可能会导致问题。那么简单的包装函数呢?
function toString(v) {
if(v == null || v == undefined) {
return "";
}
return String(v);
}
只有null
,undefined
,和空字符串应该返回空字符串。包括整数0
在内的所有其他falsy值将返回其他值。一些测试,
> toString(null)
""
> toString(undefined)
""
> toString(false)
"false"
> toString(0)
"0"
> toString(NaN)
"NaN"
> toString("")
""
“字面意思” - 双关语意? – heisenberg 2010-07-15 18:51:15
例如,如果传递了'null'或'undefined',你期望在字符串中看到什么。 – Anurag 2010-07-15 19:05:51