以下函数返回val=ret
而不是this
。它很复杂而且不清楚:
getElement: function (nodeId) {
var ret = null;
if (nodeId === this._nodeId) {
ret = this;
} else {
for (var i = 0; i < this._selects.length; i++) {
ret = this._selects[i].getElement(nodeId);
if (ret) {
break;
}
}
}
return (ret);
},
你能建议一个更简单的方法吗?我试过以下,但你做不到
使用if(this._pages[i].getElement(nodeId)
执行true / false:
getElement: function (nodeId) {
for (var i = 0; i < this._pages.length; i++) {
if(this._pages[i].getElement(nodeId){
return this;
}
}
return null;
},
答案 0 :(得分:0)
我认为你应该回归
this._pages[i].getElement(nodeId)
答案 1 :(得分:0)
第二个不一样,因为缺少第一次检查。 (如果那么部分中有else
,则无需return
部分。)
getElement: function (nodeId) {
var i, ret;
if (nodeId === this._nodeId) {
return this;
}
for (i = 0; i < this._selects.length; i++) {
ret = this._selects[i].getElement(nodeId);
if (ret) {
return ret;
}
}
return null;
},