我有以下情况。
在我的脚本中,我已经将所有公布在网页上的字符串提取到这样的对象中。
var strings = {
one: "One",
two: "Two",
three: "Three",
}
请不要问我为什么要这样做,这只是一个测试用例。
现在我想将其中一个字符串推送到alert()中。这看起来像这样:
alert(strings.one);
到目前为止一直很好,但我想检查字符串或strings.one是否存在以及何时不返回空字符串。
在不使用经典if(strings.one == undefined)
?
我根据你的回答和评论找到了解决方案。
alert((window.strings) ? strings.one || "nope" : "nope");
这可以捕获我想要阻止的所有情况:
strings
strings.one
不存在我希望这适合“光滑的方式”?!
答案 0 :(得分:4)
您可以使用||
,如果它是真实的,则返回第一个操作数,否则返回第二个操作数:
alert(strings.one || "");
这也会捕捉到其他虚假的价值观,但这对您来说可能不是一个问题。
答案 1 :(得分:0)
您可以使用三元运算符,或者如果需要,可以执行此操作,如果string.one不存在,则可以使用空字符串。
alert(string.one || '');