因为对于null vars使用.toString()不起作用,并且我不能在我的特定应用程序中检查这些中的每一个。
我知道这是一个愚蠢的简单问题,答案就是现在必须正盯着我。
答案 0 :(得分:5)
非连接路由是使用 String()构造函数:
var str = new String(myVar); // returns string object
var str = String(myVar); // returns string value
当然,var str = "" + myVar;
更短更容易。请注意,此处的所有方法都会将值为 null 的变量转换为"null"
。如果你想解决这个问题,可以使用||
在变量值为“falsey”时设置默认值,如:
var str = myVar || "";
只要你知道 0 和 false 也会在这里产生""
。
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String
答案 1 :(得分:2)
怎么样
var str = '' + someVar;
答案 2 :(得分:1)
怎么样?
var str = (variable || "");
//or
(variable || "").toString();
当然,您也会为false
,undefined
等提供此功能,但它将是一个空字符串,而不是"null"
答案 3 :(得分:1)
String(null)
会返回"null"
,如果表单字段的值本身为null
,则可能会导致问题。那么简单的包装函数呢?
function toString(v) {
if(v == null || v == undefined) {
return "";
}
return String(v);
}
只有null
,undefined
和空字符串才能返回空字符串。包括整数0
在内的所有其他假值将返回其他内容。一些测试,
> toString(null)
""
> toString(undefined)
""
> toString(false)
"false"
> toString(0)
"0"
> toString(NaN)
"NaN"
> toString("")
""
答案 4 :(得分:0)
怎么样......?
var theVarAsString = "" + oldVar;