首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript作用域问题

Javascript作用域问题
EN

Stack Overflow用户
提问于 2009-07-21 22:12:10
回答 2查看 346关注 0票数 0

我有一堆javascript“类”(原型),它们构成了我正在构建的web应用程序的继承层次结构。我一直在尝试将这些类组织成“命名空间”:

代码语言:javascript
复制
var UI = {
Control: Class.create(KVO.Object,
{
...
})
}

这些类被组织到单独的文件中,所以当我想要向UI添加一个类时,我在一个单独的文件中完成了这项工作:

代码语言:javascript
复制
UI.TextFieldControl = Class.create(UI.Control,
{
...
})

但是,当我尝试在包含文件后在程序中使用UI.TextFieldControl时,它是未定义的。我猜这是某种作用域问题,因为在TextFieldControl文件中定义了它,但据我所知,UI.TextFieldControl应该在包含它之后定义;我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2009-07-22 16:01:20

好了,我找到了问题所在;我将定义UI的文件包含了两次,一次是在定义UI.TextFieldControl的文件之前,一次是在之后。谢谢你的回复;我开始担心我根本不理解javascript作用域!

票数 1
EN

Stack Overflow用户

发布于 2009-07-21 22:24:14

你有没有尝试过使用FireBug?因为根据您提供的代码,似乎没有任何错误。如果你的文件包含都没问题的话。应该定义您的控件。

  1. 使用FireBug并检查您的文件及其加载顺序。也许在你定义了TextFieldControl之后,你的UI.Control被加载了?如果您的UI命名空间包含所有必需的类,您还可以看到它,并尝试手动定义它们,看看会发生什么。
  2. 如果您使用的是IE,您可能忘记删除一些尾随逗号,这将简单地用您的TextFieldControl...

丢弃整个文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1162033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档