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;
第一个代码是否正常或是否有任何错误。
答案 0 :(得分:1)
你的第二行有错。如果pD为空怎么办? 此外,它将保持this.cursor的值为true(不是null或false,即)。
否则,它们是相同的。
答案 1 :(得分:0)
看看这个页面: https://developer.mozilla.org/en/JavaScript/Guide/Expressions_and_Operators
搜索conditional operator
,logical operators
和short-circuit evaluation
。