作为条件逻辑,我们使用if else语句。但是因为有一个ternery运算符,我想知道我是否可以使用此运算符执行多个语句?这里我有var index
,最初设置为zero
。通过单击按钮,我使用此索引变量执行一些条件逻辑。当它达到特定值时,我想将其重置为其初始值并且还改变了按钮名称。我在想是否可以使用三元运算符?
目前我的陈述是:
(index<ques.length-1) ? btn.value='next' : btn.value='start quiz again';
我在想是否有可能实现类似这样的事情。它给出了一个错误:
(index<ques.length-1) ? btn.value='next' : btn.value='start quiz again';index=0;
下面的完整代码是关于一个简单的测验应用程序,显示关于单击按钮的下一个问题,并使用基于button's value property
的三元运算符更改index variable value
var ques=[
{
title:'who is the captain of bangladesh odi team?',
option:['mashrafee','tamim','sakib','mushfic'],
crctAns:'mashrafee'
},
{
title:'who invented ac current?',
option:['nicola tesla','tomas edison','henry ford','graham bell'],
crctAns:'nicola tesla'
},
{
title:'who starred in "TRAINING DAY" movie?',
option:['danzel washington','morgan freeman','lionerdo decaprio'],
crctAns:'danzel washington'
}
];
var setQues=(function(){
var index=0;
var span=document.createElement('span');
span.setAttribute('style','color:crimson;font-weight:20px;');
span.setAttribute('id','myspan');
var div=document.getElementById('mydiv');
var btn=document.getElementById('btn');
return function (){
div.innerHTML='';
span.innerHTML=ques[index].title;
div.appendChild(span);
(index<ques.length-1) ? btn.value='next' : btn.value='start quiz again';index=0;
index++;
}})()
document.getElementById('btn').addEventListener('click',setQues);
#mydiv{
background:lightblue;
border:1px solid skyblue;
width:200px;
height:200px;
box-shadow:-5px 0px
}
<div id='mydiv' ></div>
<input type='button' value='start quiz' id='btn'>
答案 0 :(得分:3)
您正在寻找comma operator:
expr1, expr2
在你的情况下:
(index<ques.length-1) ? btn.value='next' : (btn.value='start quiz again', index=0);
但是,我认为使用条件运算符的副作用并不是好的风格。