如何在拆分字符串之间放置if语句?显然我可以这样做:
if(lang == 'eng'){
var a_string = 'hello';
}else if(lang == 'ger'){
var a_string = 'hallo';
}
但是对于某些情况来说这太长了。我想到的是以下内容:
var lang = (e.g. 'ger' or 'eng');
var a_string = 'h' + if(lang == 'eng'){'e'}else if(lang == 'ger'){'a'} + 'llo';
有没有办法在拆分字符串之间编写if语句?
答案 0 :(得分:3)
您可以使用conditional (ternary) operator:
条件(三元)运算符是唯一采用三个操作数的JavaScript运算符。此运算符经常用作if语句的快捷方式。
语法
condition ? expr1 : expr2
var lang = 'eng';
document.write('h' + (lang == 'eng' ? 'e' : lang == 'ger' ? 'a' : '') + 'llo' + '<br>');
lang = 'ger';
document.write('h' + (lang == 'eng' ? 'e' : lang == 'ger' ? 'a' : '') + 'llo');
Logical AND (&&)和Logical OR (||)的其他解决方案可能是
var lang = 'eng';
document.write('h' + (lang == 'eng' && 'e' || lang == 'ger' && 'a' || '') + 'llo' + '<br>');
lang = 'ger';
document.write('h' + (lang == 'eng' && 'e' || lang == 'ger' && 'a' || '') + 'llo');
答案 1 :(得分:1)
或者,您可以将键/值对存储在对象中,然后不需要直接检查asm()
的值。如果您需要多次重复使用相同的值,这可能会有所帮助。
lang