0

Object does not support this property or methodというエラーが表示されるスクリプトに取り組んでいます。IE8thisが Window オブジェクトを参照していることは確かです。

var self = {
  method1: function () {

  },
  method2: function () {
    this.method1();
  }
};

オブジェクトの自己を参照するときに「これ」のこのエラーを克服する方法はありますか? に関する投稿を見たこと.call(this)がありますが、これがここに関連しているかどうかはわかりません。ありがとう!

私は次のように関数を呼び出しています:

var Module = (function () {
  var self = {
    method1: function () {

    },
    method2: function () {
      this.method1();
    }
  };
  return self;
})();

// init
Module.method2();
4

1 に答える 1

0

関数からオブジェクトを返す必要があります。

var Module = (function () {
  return  {
    method1: function () {

    },
    method2: function () {
      this.method1();
    }
  };
})();


 Module.method2();

http://jsfiddle.net/NL99N/2/

はい、このような関数を呼び出すこともできます。

self.method2.call(self);
于 2013-11-11T11:08:22.847 に答える