Javascript本地作用域和使用对象-最佳实践?
我目前正在从事使用大量javascript文件的大型项目。 然后我开始学习使用局部作用域和对象 我真正不明白的是如何将它们称为本地范围? 例如,如果我在文件-a中的本地作用域中创建了一个对象,我如何将它们用作document.ready scope文件-b中的函数Javascript本地作用域和使用对象-最佳实践?,javascript,oop,scope,Javascript,Oop,Scope,我目前正在从事使用大量javascript文件的大型项目。 然后我开始学习使用局部作用域和对象 我真正不明白的是如何将它们称为本地范围? 例如,如果我在文件-a中的本地作用域中创建了一个对象,我如何将它们用作document.ready scope文件-b中的函数 我知道你可以在网上找到这个,但是互联网上大量的javascript让我失去了动力,并且找不到好的例子或材料。有什么帮助吗?不确定,但我认为您可能是指在JavaScript中使用名称空间,以避免将所有函数添加到主窗口对象 丑陋的方式 假
我知道你可以在网上找到这个,但是互联网上大量的javascript让我失去了动力,并且找不到好的例子或材料。有什么帮助吗?不确定,但我认为您可能是指在JavaScript中使用名称空间,以避免将所有函数添加到主窗口对象 丑陋的方式 假设您有3个与CAT相关的功能:
Function AddCat(cat) {
}
Function DeleteCat(catId) {
}
Function BreedCat(cat,cat) {
}
按照这些项目的编码方式,它们是全球可用的。这不仅会扰乱窗口对象,而且很难在这些函数之间以谨慎的方式共享数据
只要加载此js文件,应用程序中的任何函数都可以通过调用AddCat()
清洁剂
为了解决这个问题,我们可以在这里创建一个充当“名称空间”的Cats对象:
现在,您只向windows类添加了一个对象:Cats。此外,web应用程序中的其他方法可以通过调用Cats.AddCat()
调用这三个项目中的任何一个
这使您可以将整个系统中的所有Cat数据封装在一个“名称空间”中,因此更易于读取
这可以得到更详细的信息。通过封装这样的项,您可以开始从代码的其余部分隐藏所有cat例程所需的变量
关于这种类型的名称空间(包括大量的详细信息)有一套非常好的资源,其中的链接可以引导您深入了解
这就是你想要的吗?范围界定的全部要点是其他文件无法访问你的变量。你需要将代码压缩到一个文件中,或者适当地公开全局变量。没有对OPS部分进行研究来找到答案。正如事后调查所承认的那样。那么,为什么你要在那是同一页吗?这样你就不会弄乱其他你非常清楚的代码运行了?是的,这正是我需要知道的。谢谢你花时间向我解释:DNo担心。我喜欢这些东西!一定要检查那些链接。这两个家伙都非常聪明,为我节省了数小时的重构时间。
Cats = {
AddCat: function(cat) {
},
DeleteCat: function(catId) {
},
BreedCat: function(cat,cat) {
}
}