簡體   English   中英

在JavaScript中設置變量的語法

[英]Syntax for setting a variable in javascript

(編輯:我在閱讀別人的代碼時發現了這種語法)

是否有充分的理由使用以下語法在javascript中設置變量:

this.index >= this.items.length && (this.index = 0);

是只在一行代碼上獲取表達式,還是在另一行上,我敢說更好,是這樣做的原因……

編輯:該代碼等效於:

if (this.index >= this.items.length) { 
    this.index = 0; 
}

哇不 只是沒有 我認為自己是一個非常不錯的JavaScript程序員,我無法告訴您這段代碼的作用。

它只是執行this.index = this.items.length還是執行類似this.index = false奇怪this.index = false

如果您打算:

if (this.index >= this.items.length) {
    this.index = 0;
}

然后,您可以考慮:

this.index = (this.index >= this.items.length) ? 0 : this.index;

但這並不能真正改善它,對嗎?

我認為這段代碼的意圖是

 this.index = this.index >= this.items.length ? this.items.length : 0;

要么

 this.index = this.index >= this.items.length ? 0 : this.items.length;

第三種可能的意圖(這可能確實是它應該做的)。

 this.index = this.index >= this.items.length ? 0 : this.index;

但這只是最好的猜測,該行根本沒有任何意義……而且您通常不分配這樣的變量。 實際上,它甚至沒有分配變量this.index。

實際上,您的代碼確實有效。 在此處查看工作示例: http : //jsfiddle.net/Elak/EthsP/

在tbh之前從未見過這種語法,我編寫了很多JavaScript ...但是您永遠不會停止學習新知識:p

不,沒有充分的理由,我認為人們會經常這樣做,所以它是“一線客”,最好使用這樣的if

if( this.index >= this.items.length ) {
    this.index = 0;
}

因為如您所見,人們對其實際操作感到困惑。

但是你仍然可以像這樣保持一個襯里

if( this.index >= this.items.length ) { this.index = 0; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM