JavaScript 语法:字符串赋值语句中的内联 If

2024-03-27

我最近遇到了这个问题,我认为这会是一个很好的问题。

假设您将一个字符串分配给一个局部变量,并且您想通过一个简单的条件来改变它。因此,您将内联 if 语句插入到字符串中:

var someCondition = true;
var url = "beginning-" + (someCondition)?('middle'):('other_middle') + "-end";

但这并没有按预期工作,url 的值将是“middle”,而不是开始-中间-结束。该语句产生预期结果:

var url = "beginning-" + ((someCondition)?('middle'):('other_middle')) + "-end";

最好的解释为什么会赢得令人垂涎的答案旗帜!


这当然与优先级有关。

var url = "beginning-" + (someCondition)?('middle'):('other_middle') + "-end";

被解释为:

var url = ("beginning-" + (someCondition)) ? ('middle') : (('other_middle') + "-end";)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 语法:字符串赋值语句中的内联 If 的相关文章

随机推荐