JavaScript:寻找一种简单的方法来返回'this'而不是'val = x'

时间:2016-10-27 08:56:16

标签: javascript jquery

以下函数返回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;
    },

2 个答案:

答案 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;
},