javascript - 在javascript中用三元运算符连接字符串

标签 javascript jquery

<分区>

这很烦人

以下代码:

var arrays = [1,2,3];
alert('Array has ' + (arrays.length > 0) ? 'multiple':'single' + ' value');

警报作为多个,其中字符串未连接与三元结果。

但是这段代码:

var arrays = [1,2,3];
alert('Array has ' + ((arrays.length > 0) ? 'multiple':'single') + ' value');

数组有多个值时发出警报,其中字符串与三元结果连接在一起。

我的问题是:

  1. 为什么第一个代码没有与字符串连接。
  2. 第一个代码中是否有任何语法错误,如果有,为什么没有抛出错误。

最佳答案

你的第一个例子是这样解析的

alert(('Array has ' + (arrays.length > 0)) ? 'multiple':('single' + ' value'));

鉴于 operator precedence + 远高于 ?:

关于javascript - 在javascript中用三元运算符连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29444009/

相关文章:

php - AJAX:打开另一个div中的内容

javascript - AJAX正在返回谷歌云上PHP文件的内容字符串

jquery - jQuery 验证后的自定义提交功能

Jquery Globalize dateformatter 如何使用前导零格式化月份

jquery - 同位素 : positioning of elements that have different heights

javascript - 如何让 Visual Studio 自动包含从 Typescript 编译的 JS 文件?

javascript - 将鼠标悬停在一个 div 上并更改另一个

javascript - 为什么当我告诉 AngularJS $scope.watch() 观察数组时它停止工作?

jquery - 在边界内显示文本

javascript - 如何检查android浏览器中的URL是否包含给定的字符串?