JavaScript:寻找返回'this'而不是'val=x'

JavaScript: searching for a simple way of returning 'this' instead of 'val=x'

本文关键字:val 寻找 JavaScript this 返回      更新时间:2023-09-26

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

我认为你应该返回

this._pages[i].getElement(nodeId)

第二个不一样,因为第一个检查缺失了。(如果returnthen部分中,则不需要else部分)

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