j逗留条件用逗号分隔

时间:2018-03-20 04:07:00

标签: jquery

我只是在解析一些代码而且遇到了一条我不理解的行。

    function removeClasses() {
       $(".bar").removeClass("active"), 
       $(".bar .player-info").removeClass("active"), 
       $(".list").removeClass("active")
    }
    function addClasses(){
       $(".bar").addClass("active"), 
       $(".list").addClass("active"), 
       $(".bar .player-info").addClass("active")
    }
    function initWaypoint(a) { 
    if($(".list li").removeClass("active"),addClasses(),-1==a)removeClasses();
    else{
    ...
    }
$(document).ready(function() {
    $(".list li").waypoint(function(direction) {
    initWaypoint("down" == direction ? $(this.element).index() : $(this.element).index()-1);
    }, { offset: '30%' });
});

希望这已经足够了,我不认为我需要显示HTML。我最感兴趣的是

if($(".list li").removeClass("active"),addClasses(),-1==a)removeClasses();

我只是不明白这是如何运作的。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

来自MDN:

  

逗号运算符计算每个操作数(从左到右)并返回最后一个操作数的值。

这段代码看起来像是经过了一个缩小器。我无法理解为什么有人会这样写它。

该行

if($(".list li").removeClass("active"),addClasses(),-1==a)removeClasses();

相当于:

$(".list li").removeClass("active");
addClasses();
if(a == -1) {
  removeClasses();
}