关于三目运算符
来源: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 ,所以自加或者自减写在前边或者后边都是可以的 .
希望能够解答你的疑惑 , 祝学习愉快 ,望采纳 .