首页 > JS 中number == maxNumber? number = 0 : number;判断语句问题

JS 中number == maxNumber? number = 0 : number;判断语句问题

if(auto ==1){
    var number = 0;
    var maxNumber = $('.lanrenzhijia .tab a').length;
    function autotab(){
        number++;
        number == maxNumber? number = 0 : number;
        $('.lanrenzhijia .tab a:eq('+number+')').addClass('on').siblings().removeClass('on');
        $('.lanrenzhijia .content ul li:eq('+number+')').show().siblings().hide();
    }

对这个if中的number == maxNumber? number = 0 : number;不太理解。
判断maxNumber是否存在,否则创建并赋值??


搜索三元运算符

number == maxNumber? 0 : number;

if(number == maxNumber) number =0;
else
return number;


属于if...else...的变体,简写
这句话:

number == maxNumber? number = 0 : number;

改成这样你就明白了:

(number == maxNumber)? (number = 0) : number;

如果表达式number == maxNumber为真,则返回number = 0;

否则返回number。

即:

表达式?返回为真:返回为假

也可以这么改写,会容易理解点:

number = (number == maxNumber)?  0 : number;

为真返回0,给number赋值0;

为假返回number,给number赋值number。

【热门文章】
【热门文章】