我将返回值作为null并将该值在UI中显示为null。但我想检查一些条件,如果它是null,它不应该显示任何东西.. 我尝试了下面的代码,它没有工作
var companyString;
if(utils.htmlEncode(item.companyname) == null)
{
companyString = '';
}
else{
companyString = utils.htmlEncode(item.companyname);
}

答案 0 :(得分:4)
将item.companyname
与null(但实际上可能是任何false-y值)进行比较 - 并且不编码形式。
这是因为编码会将null
变为"null"
(或者""
,这是字符串)而"null" == null
(或any_string == null
)为false
使用三元运算符可以这样写:
var companyString = item.companyname
? utils.htmlEncode(item.companyname)
: "";
或者合并:
var companyString = utils.htmlEncode(item.companyname ?? "");
或者以长手形式:
var companyString;
if(item.companyname) // if any truth-y value then encode
{
companyString = utils.htmlEncode(item.companyname);
}
else{ // else, default to an empty string
companyString = '';
}
答案 1 :(得分:0)
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:id="@+id/left"
android:layout_toLeftOf="@+id/right" />
<RelativeLayout
android:id="@+id/right"
android:layout_toRightOf="@+id/left" />
</RelativeLayout>
答案 2 :(得分:0)
var companyString;
if(item.companyname !=undefined && item.companyname != null ){
companyString = utils.htmlEncode(item.companyname);
}
else{
companyString = '';
}
最好在javascript的情况下检查not undefined
以及not null
。您还可以放alert
或console.log
来检查您获得的值,以检查if块无效的原因。此外,utls.htmlEncode会将您的null
转换为包含null literal
的字符串,因此请在不进行编码的情况下进行比较。