0

Web ワーカー スレッドで JavaScript 配列を更新する必要があります。Web ワーカー スレッドで JavaScript 配列にアクセスできません。

私のコードは次のとおりです。

self.onmessage = function(event) {
var array = new Uint8Array(event.data);
var sum = 0;
var temparray = new Array();

for(var list = 0; list < array.length; list++ ){
    var temp = myMethod(array[list]); //some operation
    availableArray.push(temp);
}

 self.postMessage("success");
}   

次のエラーが表示されます: availableArrayis undefined availableArray.push(temp);

4

1 に答える 1

1

配列 (または配列のようなオブジェクト) である 2 つの変数をvar array = new Uint8Array定義しvar temparray = new Arrayます。 エラーメッセージは完全に理にかなっています:はどこにも定義されていません. それを配列として使用し、そのメソッドを呼び出しています。ただし、JS はデフォルトで、宣言されていない var を使用するたびに新しい変数を作成します。もちろん、初期化されていない変数のデフォルト値は です。メソッドがないため、エラーが発生します。availableArraytemparray
availableArraypushundefinedundefinedpush

ただし、ちょっとだけ注意してください: in JSnew Arrayは実際にはお勧めできません。配列リテラル表記を使用することをお勧めします。

var temparray = [];

より短くより安全です。

于 2014-06-23T10:30:25.580 に答える