javascript str.split(";:";)";未捕获引用错误:未定义myArray“;

javascript str.split(";:";)";未捕获引用错误:未定义myArray“;,javascript,split,Javascript,Split,当下面的代码运行时,我得到“uncaughtreferenceerror:myArray未定义” 请评论我将假设您的文件以的“使用严格的;”开头-您正在强制javascript进入严格模式。在这种情况下,您可以删除该行,也可以更改 myArray = classes.split(":") 到 迫使它进入全球范围。或者在所需的范围内定义它,很可能在该函数之外,以便在任何需要它的地方都可以使用它。我假设您的文件以'use strict;'开头-您正在强制javascript进入严格模式。在这种

当下面的代码运行时,我得到“uncaughtreferenceerror:myArray未定义”


请评论

我将假设您的文件以
的“使用严格的;”开头-您正在强制javascript进入严格模式。在这种情况下,您可以删除该行,也可以更改

myArray = classes.split(":")  


迫使它进入全球范围。或者在所需的范围内定义它,很可能在该函数之外,以便在任何需要它的地方都可以使用它。

我假设您的文件以
'use strict;'开头-您正在强制javascript进入严格模式。在这种情况下,您可以删除该行,也可以更改

myArray = classes.split(":")  


迫使它进入全球范围。或者在需要的范围内定义它,很可能在该函数之外,以便在任何需要它的地方都可以使用。

您使用的是严格模式。因此,您必须说出
var
或将其附加到对象

换句话说,
myArray
未定义


在非严格模式下,变量将被提升到全局空间,这是人们通常不想要的。

您使用的是严格模式。因此,您必须说出
var
或将其附加到对象

换句话说,
myArray
未定义


在非严格模式下,变量将被提升到全局空间,这是人们通常不希望看到的。

如前所述,您很可能处于严格模式,并试图分配给未声明的变量

由于没有理由以这种方式(在循环中)创建全局变量,我假设您只是忘记添加
var

var myArray = ...;

如前所述,您很可能处于严格模式,并试图分配给未声明的变量

由于没有理由以这种方式(在循环中)创建全局变量,我假设您只是忘记添加
var

var myArray = ...;

不,你没有。如果未定义
myArray
,而您运行了该代码,它将在全局对象上创建一个名为
myArray
的属性。您确定错误不在代码中的其他地方吗?您在哪里定义
myArray
?我打赌您将在某个地方使用
use strict
。将出现此错误,因为您尚未定义
myArray
。不,您没有定义。如果未定义
myArray
,而您运行了该代码,它将在全局对象上创建一个名为
myArray
的属性。您确定错误不在代码中的其他地方吗?您在哪里定义
myArray
?我打赌您将在某个地方使用
use strict
。将出现此错误,因为您尚未定义
myArray