关于三目运算符

来源: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回答

好帮手慕夭夭

2019-02-11

你好同学 , 因为在三目运算里面index又重新赋值了一下 . 

http://img.mukewang.com/climg/5c612aad00010d0a10040350.jpg

使用index++或者index--表示先赋值后计算自加或者自减 . 例如如上当index=0的时候 , 此时执行若是执行index++ , 那么红框中新的index还是0  . 所以要先进行自加或者自减 , 再把新的值赋值给index . 可以如下测试 , 

index的值依旧是0 

http://img.mukewang.com/climg/5c612b960001680c03930083.jpg

而在if判断中, 直接对 index进行计算 , 并没有把它赋值给一个新的index  ,所以自加或者自减写在前边或者后边都是可以的 .

希望能够解答你的疑惑 , 祝学习愉快 ,望采纳 .

2

0 学习 · 36712 问题

查看课程