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是否存在,否则创建并赋值??

阅读 3.5k
2 个回答

属于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。

搜索三元运算符

number == maxNumber? 0 : number;

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题