Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中使用深层名称空间可以吗_Javascript - Fatal编程技术网

在JavaScript中使用深层名称空间可以吗

在JavaScript中使用深层名称空间可以吗,javascript,Javascript,我决定采用本文中定义的名称空间方法: 使用名称空间进行一级以上的深度是否是一种良好的做法?例如,如果我有一个名称空间'app',并且希望将所有组件存储在它们自己的名称空间中,那么我可能会有'app.components'等等。我可能会进一步使用“app.components.visual” 其次,我对构造函数如何适应这种模式感到困惑。您是否将构造函数放在自执行函数中并像以下那样引用它: var test = new app.MyConstructor() 再说一次,这是一种好的做法吗?你可

我决定采用本文中定义的名称空间方法:

使用名称空间进行一级以上的深度是否是一种良好的做法?例如,如果我有一个名称空间'app',并且希望将所有组件存储在它们自己的名称空间中,那么我可能会有'app.components'等等。我可能会进一步使用“app.components.visual”

其次,我对构造函数如何适应这种模式感到困惑。您是否将构造函数放在自执行函数中并像以下那样引用它:

var test = new app.MyConstructor() 

再说一次,这是一种好的做法吗?

你可以想走多远就走多远。例如,这可能很酷:

app.ui.widgets.Clock
这也会:

var clock = new app.ui.widgets.Clock('UTC');
如果您认为这很难看,那么为构造函数对象创建一个本地引用:

var Clock = app.ui.widgets.Clock;
var clock1 = Clock('UTC');
var clock2 = Clock('PST');

使用对象创建逻辑名称空间,将相关模块/构造函数/对象/函数分组是一个非常好的主意,尤其是在更大的代码库中。

我花了整整几分钟才理解“名称间距”是关于名称空间的。。。我在代码中查找字符串和空格,或者空格。好的。将其编辑为“名称空间”。谢谢