奇怪的Javascript问题保持一些变量未定义

时间:2016-02-26 19:19:03

标签: javascript jquery typescript

在我的浏览器中运行以下函数时,在整个函数执行过程中,删除的变量,行变量和rownumber变量仍未定义:

    private action(value) {
        var deleted = false;            
        if (value == 3) {
            for (var row in this.binaryObj) {
                for (var i = 0; i < this.binaryObj[row].length; i++) {
                    if (deleted) {
                        break;
                    }                       
                    this.binaryObj[row].sort();
                    if (this.binaryObj[row][i] + this.binaryObj[row][i + 1] === value) {                                
                        var rowNumber = $.inArray(this.binaryObj[row][i], this.binaryObj[row])
                        this.cleanField(rowNumber, value);
                        deleted = true;
                        break;
                    }
                }
                if (deleted) {
                    break;
                }
            }
        }
        else {
            for (var row in this.binaryObj) {
                for (var i = 0; i < this.binaryObj[row].length && !deleted; i++) {
                    if (this.binaryObj[row][i] === value) {
                        var rowNumber = $.inArray(this.binaryObj[row][i], this.binaryObj[row])
                        this.cleanField(rowNumber, value);
                        deleted = true;
                        break;
                    }
                }
                if (deleted) {
                    break;
                }
            }
        };
    };

我不确定为什么会发生这种情况。删除的变量在函数的开头清楚地声明。谁知道什么可能是一个问题? 请注意,该函数是typescript文件的一部分,您可以看到我也使用JQuery(不确定其中一个是否可能是问题?)

this.binaryObj实际上被调试器注意到:
Object {R1: Array[0], R2: Array[2], R3: Array[2], R4: Array[3]}

0 个答案:

没有答案