Javascript本地范围和使用对象 - 最佳实践?

时间:2016-01-18 21:23:19

标签: javascript oop scope

我目前正在开发利用大量javascript文件的大型项目。 然后我开始学习使用本地范围和使用对象。

我真正理解的是如何将它们称为本地范围? 例如,如果我在file-a中的本地作用域中创建一个对象,我该如何在document.ready scope file-b中的函数中使用它们?

我知道你可以在网上找到这个,但是我在互联网上通过大量的javascript来获得动力,并且无法找到好的例子或材料。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

不确定,但我认为您可能会在JavaScript中使用命名空间作为避免将所有函数添加到主窗口对象的方法。

丑陋的方式

假设你有3个与猫有关的功能:

Function AddCat(cat) {

}

Function DeleteCat(catId) {

}

Function BreedCat(cat,cat) {

}

这些项目的编码方式是全球可用的。这不仅会使您的窗口对象变得混乱,而且难以以谨慎的方式在这些功能之间共享数据。

只要加载此js文件,您应用中的任何功能都可以通过调用AddCat()来调用这些函数

<强>清洗剂

为了解决这个问题,我们可以创建一个Cats对象作为&#34;命名空间&#34;这里:

Cats = {

    AddCat: function(cat) {

    },

    DeleteCat: function(catId) {

    },

    BreedCat: function(cat,cat) {

    }

}

现在,您只在Windows类中添加了一个对象:Cats。此外,您的网络应用中的其他方法可以通过调用Cats.AddCat()来调用这3个项目中的任何一个。

这使您可以封装整个系统中的所有Cat数据在一个&#34;命名空间内,因此更容易阅读。

这可以得到更详细的信息。通过封装这样的项目,您可以开始隐藏所有cat例程所需的变量以及其余代码。

这种类型的命名空间(包括大量详细信息)herehere提供了一组优秀的资源,其链接可以让您更深入。

那是你在找什么?