我刚刚接受了ternary
语句的概念,并尝试使用它来代替我熟悉的if / else if / else
语句。但代码似乎有语法错误。什么是ternary
语句无法执行if
语句可以执行的操作?我想知道ternary
语句是否更适合执行简单的命令。
'bin'数组是一个子数组的集合,包含从'inventory'数组中丢弃的项目,由splice
和push
方法提供。
var bin = [ ['Orichalcum'], ['Rapier', 'Panacea'], ['Bow'], ['Antidote', 'Cheese', 'Whip'],
['Elixir', 'Herb'], ['Timbrel', 'Dagger', 'Boomerang'] ];
var message = (! bin.length) ?
'No items have been removed.'
: (bin.length === 1) ?
bin[0].length + ' items have been removed.'
: (
for (var i = 1; i < bin.length; i++) {
for (var j = 0; j < bin[i].length; j++) {
bin[0].push(bin[i][j]);
}
},
bin[0].length + ' items have been removed.'
);
alert(message);
答案 0 :(得分:3)
? :operator是表达式,而不是语句。这意味着您不能在其中嵌套其他语句(例如for)。