0

让我们假设 modulex 和 moduley 都没有声明。
现在考虑两种情况:

var modulex = modulesx || {};// 这行代码工作正常

moduley = moduley || {};// 但是这段代码会抛出错误,说模块是未定义的。

同样,

var modulex = moduley || {};// 这也会抛出错误,说模块未定义。


请详细说明这一点。

4

3 回答 3

1

您不能使用未在“=”左侧声明的变量或作为函数参数。引用未初始化。

于 2013-01-17T07:09:53.993 回答
1

在 JavaScript 中,变量声明是提升的。这段代码:

var a = a || {};

实际上是这样解释的:

var a;
a = a || {};

在你的第二个例子中,moduley只是没有定义,这正是你的错误所说的。

于 2013-01-17T07:10:12.570 回答
0

由于您的“模块”在使用之前未定义,javascript 编译器会将其称为“未定义”

于 2013-01-17T07:11:05.073 回答