2016-10-27 56 views
0

以下功能的簡單方式返回val=ret而不是this。這是複雜的,並不清楚:的JavaScript:搜索返回「這個」,而不是「VAL = X」

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)

​​

回答

0

我覺得你應該返回

this._pages[i].getElement(nodeId) 
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; 
}, 
+0

性能:你只有我在需要VAR for循環!它必須是 - > var i = 0;我 post4dirk

+0

'我'被吊起來了,爲什麼不在開始時聲明呢? –

+0

如果你離開for循環,我得到空間。 – post4dirk

相關問題