var p = this.getParams();
var pD = (o.params||{});
if (this.useJsonData) pD = (pD.jsonData||{});
this.cursor = (pD && pD[p.start]) ? pD[p.start] : 0;
這兩條線有什麼區別。這段代碼需要說明嗎?
this.cursor = pD[p.start] || this.cursor || 0;
第一個代碼是罰款還是有任何錯誤。
var p = this.getParams();
var pD = (o.params||{});
if (this.useJsonData) pD = (pD.jsonData||{});
this.cursor = (pD && pD[p.start]) ? pD[p.start] : 0;
這兩條線有什麼區別。這段代碼需要說明嗎?
this.cursor = pD[p.start] || this.cursor || 0;
第一個代碼是罰款還是有任何錯誤。
您的第二條線有問題。如果pD爲空,該怎麼辦? 此外它會保持this.cursor的值爲true(不爲null或false,即)。
否則,它們是相同的。
看看這個頁面: https://developer.mozilla.org/en/JavaScript/Guide/Expressions_and_Operators
搜索conditional operator
,logical operators
和short-circuit evaluation
。
好吧,不一定完全相同。第一個總是改變'this.cursor',但第二個可能會使其保持不變。 – 2010-10-29 06:05:55
這就是我寫的:-) – 2010-10-29 06:06:42
是的。閱讀兩遍,評論一次。 – 2010-10-29 06:12:05