javascript - 是否可以使用三元运算符执行多个操作

标签 javascript

作为条件逻辑,我们使用 if else 语句。但是由于有一个三元运算符,我想知道我是否可以使用该运算符执行多个语句?这里我有一个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'>

最佳答案

您正在寻找comma operator :

expr1, expr2

就您而言:

(index<ques.length-1) ? btn.value='next' : (btn.value='start quiz again', index=0);

但是,我认为使用条件运算符的副作用并不是一种好的风格。

关于javascript - 是否可以使用三元运算符执行多个操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27849104/

相关文章:

javascript - 如何以 Angular 连续顺序运行异步

javascript - Promise 没有像我期望的那样表现

javascript - 一旦 ("child_added")在非现有节点上不会失败但超时

使用 JAX-RS 进行 JavaScript cookie 管理

javascript - 从具有变量的函数中获取变量

javascript - 返回数组中的每个 DOM 元素

javascript - 如何改进我的代码以实现 'return false'?

javascript - 开 Jest - 语法错误 : Cannot use import statement outside a module

javascript - Node.js 无阻塞地写入数组

javascript - 使用一个 CSS 选择网页外观而无需重新加载