它很烦人
以下代码:
var arrays = [1,2,3];
alert('Array has ' + (arrays.length > 0) ? 'multiple':'single' + ' value');
警报为
multiple
(字符串为),未将与三元结果连接在一起。但是此代码:
var arrays = [1,2,3];
alert('Array has ' + ((arrays.length > 0) ? 'multiple':'single') + ' value');
警报为
Array has multiple value
,其中字符串与三进制结果串联在一起。我的问题是:
最佳答案
您的第一个示例以这种方式解析
alert(('Array has ' + (arrays.length > 0)) ? 'multiple':('single' + ' value'));
鉴于
+
的operator precedence比?:
高得多。