如何在foreach循环中的方法中使用“this”访问类成员。

时间:2014-02-28 00:07:32

标签: jquery

我有一个有趣的问题。以下是我的javascript代码。当我运行 this.data.splice(k,1); 时会出错:"无法调用方法' splice&#39 ;未定义" 。我理解这个问题就像在每个循环中一样,这个数据不被识别,因为"这个"表示数组的每一行。问题是在这种情况下如何调用this.data。我试过尝试通过ref传递对象,但它没有工作。我感谢您的帮助。谢谢。

var Pastopts = {
    index: 0,
    data: [ "one", "two", "three", "four", "five", "six", "seven" ],
    addOpt: function() {
          var  i = 0;
        $.each(this.data, function(k, v) {
            i++;
            if (i < 6) {
                this.data.splice(k, 1);
            }
        });
     console.log(this.data);
    }
}

Pastopts.addOpt();

1 个答案:

答案 0 :(得分:1)

var Pastopts = {
    index: 0,
    data: [ "one", "two", "three", "four", "five", "six", "seven" ],
    addOpt: function() {
          var  i = 0;
          var t_d = this.data;
        $.each(this.data, function(k, v) {
            i++;
            if (i < 6) {
                t_d.splice(k, 1);
            }
        });
     console.log(this.data);
    }
}

Pastopts.addOpt();