2015-04-25 121 views
0

嗨我是新來的JS和jQuery一般和我正要通過carousel.js的源頭和整個下面的代碼行傳來:理解引導旋轉木馬代碼

this.cycle(true) 

現在的循環功能看起來是這樣的:

Carousel.prototype.cycle = function (e) { 

    // console.log('inside cycle'); 
    e || (this.paused = false) 

    this.interval && clearInterval(this.interval) 

    this.options.interval 
     && !this.paused 
     && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) 

    return this 
    } 

如果我console.log(e),我從來沒有得到 '真' 爲什麼? 我所指的行可以找到here

有人可以向我解釋爲什麼this.cycle()在該行上通過值true

謝謝。

+0

這是另一個不以類似'e ||'的可怕方式編寫代碼的原因。 (this.paused = false)' – zerkms

回答

0

根據代碼,如果你沒有通過任何事情或通過false它也將取消暫停傳送帶。通過true基本意思是「不要自動滾動我的傳送帶」。這段代碼的神奇之處在於:

this.paused = false 
3

console.log(e)裏面的循環函數應該返回true。但是易於理解的代碼細分是這樣的:

Carousel.prototype.cycle = function (e) { 

    // console.log('inside cycle'); 
    //e || (this.paused = false) 
    if(!e){ 
     this.paused=false; 
    } 

    //this.interval && clearInterval(this.interval) 
    if(this.interval){ 
     clearInterval(this.interval); 
    } 

    /* 
    this.options.interval 
     && !this.paused 
     && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) 
    */ 
    if(this.options.interval && !this.paused){ 
     this.interval = setInterval($.proxy(this.next, this), this.options.interval) 
    } 
    return this 
    }