为什么他们在javascript中使用名称空间?

为什么他们在javascript中使用名称空间?,javascript,namespaces,indexeddb,Javascript,Namespaces,Indexeddb,我看到他们在使用indexeddb:or的示例中使用了名称空间 这样做有什么真正的好处吗?它只是为了组织相关对象吗?简单(AFAIK),以防止名称冲突和污染父名称空间。简单(AFAIK),以防止名称冲突和污染父名称空间。名称空间通常用于避免变量/函数/方法标识符冲突并保留全局名称空间(如果有)清晰。名称空间通常用于避免变量/函数/方法标识符冲突,并保持全局名称空间(如果有)清晰。Demian在回答中一针见血:您可以为事物命名名称空间,以避免名称冲突和范围污染 但它们也可以使代码更容易理解。举个例

我看到他们在使用indexeddb:or的示例中使用了名称空间


这样做有什么真正的好处吗?它只是为了组织相关对象吗?

简单(AFAIK),以防止名称冲突和污染父名称空间。

简单(AFAIK),以防止名称冲突和污染父名称空间。

名称空间通常用于避免变量/函数/方法标识符冲突并保留全局名称空间(如果有)清晰。

名称空间通常用于避免变量/函数/方法标识符冲突,并保持全局名称空间(如果有)清晰。

Demian在回答中一针见血:您可以为事物命名名称空间,以避免名称冲突和范围污染

但它们也可以使代码更容易理解。举个例子,如果您有两个函数来显示和隐藏图像,那么它们可以被称为
show
hide
,并存在于任何范围内。但是您还必须在某处显示和隐藏一个div,因此
showImage
hideImage
会更好。但是,然后您添加了淡入、替换和缩放图像的方法,很快您就拥有了许多
…image
功能。将所有这些放入名为
Image
的命名空间中,它们可以是
Image.hide
Image.show
Image.zoom
等等。代码是不言自明的,您不必记得在编写它时调用每个函数
…Image
,因为您可以说
var Image={show:…,hide:…,…etc}
或类似的语句。从结构上讲,通过将相关函数保持在一起(如您所述),您还可以获得更好的代码


我喜欢使用的类比是,计算机的桌面类似于全局名称空间。你可以一直把文件放在桌面上,但很快就会变得乱七八糟,你所有的文件都需要非常复杂的名称才能唯一。所以你用文件夹来组织一切。每个人都看到了使用文件夹来组织计算机上的内容的好处,那么为什么不在编码时使用类似的概念呢?

Demian在他的回答中一针见血:为事物命名名称空间以避免名称冲突和范围污染

但它们也可以使代码更容易理解。举个例子,如果您有两个函数来显示和隐藏图像,那么它们可以被称为
show
hide
,并存在于任何范围内。但是您还必须在某处显示和隐藏一个div,因此
showImage
hideImage
会更好。但是,然后您添加了淡入、替换和缩放图像的方法,很快您就拥有了许多
…image
功能。将所有这些放入名为
Image
的命名空间中,它们可以是
Image.hide
Image.show
Image.zoom
等等。代码是不言自明的,您不必记得在编写它时调用每个函数
…Image
,因为您可以说
var Image={show:…,hide:…,…etc}
或类似的语句。从结构上讲,通过将相关函数保持在一起(如您所述),您还可以获得更好的代码

我喜欢使用的类比是,计算机的桌面类似于全局名称空间。你可以一直把文件放在桌面上,但很快就会变得乱七八糟,你所有的文件都需要非常复杂的名称才能唯一。所以你用文件夹来组织一切。每个人都看到了使用文件夹组织计算机上的内容的好处,那么为什么不在编码时使用类似的概念呢