你能在javascript字符串插值中执行三元表达式吗?

时间:2013-04-12 15:53:59

标签: javascript jquery interpolation

我有这个变量:

var foobar = "Hi, my name is #{name}";

但如果在页面加载时没有定义名称..我希望它能保存“未知”。

但写下这样的话:

var foobar = "Hi, my name is #{typeof name === 'undefined' ? 'unknown' : name}";

仍然会返回错误unknown variable name

3 个答案:

答案 0 :(得分:4)

不是在字符串结构中做出逻辑决策,而是在外面做以获得更好的性能和(更远)更易读的代码:

name = name||'unknown';

答案 1 :(得分:2)

我认为更好的方法是:

var name = name || "Unknown";
var foobar = 'Hi my name is ' + name;

答案 2 :(得分:0)

只要把名字放在那里。如果它未定义或为null,则为“false”。

var foobar = "Hi, my name is " + name ? name : 'unknown';