gpt4 book ai didi

javascript - 如何在Web工作线程中使用javascript变量

转载 作者:行者123 更新时间:2023-12-03 12:22:41 25 4
gpt4 key购买 nike

我需要更新 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");
}

我收到此错误:可用数组未定义availableArray.push(temp);

最佳答案

您定义了 2 个数组(或类数组对象)变量:var array = new Uint8Arrayvar temparray = new Array,但随后在循环中您使用未在任何地方声明的变量 availableArray,我怀疑您想将该变量更改为 temparray
错误消息非常有意义: availableArray 未在任何地方定义。您将其用作数组,并对其调用 push 方法。但是,默认情况下,每当您使用尚未声明的 var 时,JS 都会为您创建一个新变量。未初始化变量的默认值当然是undefinedundefined 没有 push 方法,因此会出现错误。

不过,有一点需要注意的是:在 JS 中 new Array 实际上是不鼓励的。最好使用数组文字表示法:

var temparray = [];

它更短并且更安全。

关于javascript - 如何在Web工作线程中使用javascript变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com