关于三目运算符
来源:5-1 事件参数
qq_鸭绿桥第一帅哥_0
2019-02-09 19:17:59
为什么if else中可以用index--。而三目运算符中只能用--index?
$(document).ready(function(){ var index=0; $('a').mouseenter(function(){ index=$(this).index(); swiper(); }); $(document).keydown(function(event){ // console.log(event.keyCode); if (event.keyCode==37) { index=index>0?--index:$('a').length-1; // if(index==0) // { // index=$('a').length-1; // }else // { // index--; // } swiper(); } else if (event.keyCode==39) { index=index<$('a').length-1?++index:0; // if (index==$('a').length-1) // { // index=0; // } // else // { // index++; // } swiper(); } }) var swiper=function(){ $('img').eq(index).css({'opacity':'1'}).siblings().css({'opacity':'0'}); } })
1回答
你好同学 , 因为在三目运算里面index又重新赋值了一下 .
使用index++或者index--表示先赋值后计算自加或者自减 . 例如如上当index=0的时候 , 此时执行若是执行index++ , 那么红框中新的index还是0 . 所以要先进行自加或者自减 , 再把新的值赋值给index . 可以如下测试 ,
index的值依旧是0
而在if判断中, 直接对 index进行计算 , 并没有把它赋值给一个新的index ,所以自加或者自减写在前边或者后边都是可以的 .
希望能够解答你的疑惑 , 祝学习愉快 ,望采纳 .