1

私はこのコードを持っています..匿名関数でラップします

(function() {
  console.log("writting dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");

window.onMessage1 = function(messageEvent) {
  console.log("writting dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
  console.log(messageEvent.data["color"]);
  return $("form#credit-info-form").append(messageEvent.data["color"]);
 };

}).call(this);

エラーは「TypeError:未定義のプロパティ「データ」を読み取れません」です

しかし、匿名関数ラップなしで上記のコードを実行すると、動作します..

関数名にも同じエラーがありました。「onMessage1」を「window.onMessage1」グローバルスコープにすることで解決しました。

アノイマス関数をどうするか?

ありがとう

4

2 に答える 2

0

messageEventパラメータはです。これは、呼び出し時に にundefined引数を渡していないことを意味します。window.onMessage1

// this is the parameter---------v
window.onMessage1 = function(messageEvent) {
  console.log("writting data");

// you use it here--v
  console.log(messageEvent.data["color"]);

  //---------------------------and here--------v
  return $("form#credit-info-form").append(messageEvent.data["color"]);
};

したがって、それを呼び出すときは、dataプロパティを持つ引数を渡す必要があります。

window.onMessage1(my_object);
于 2013-10-16T02:02:02.447 に答える