[英]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.