我对Javascript中的单个和多个执行上下文感到困惑。 我提到了http://developer.appcelerator.com/blog/2010/08/execution-contexts.html 虽然我对JS上下文有了很好的概述。 但我不知道在Titanium中构建应用程序时何时使用单个或多个上下文是好的。
答案 0 :(得分:3)
来自Best Practices Documentation(强调我的):
使用Titanium Mobile,可以创建一个窗口,其url属性设置为Javascript文件的路径(相对于当前文件)。调用窗口的open方法时,将评估关联的JavaScript文件,从而创建辅助“执行上下文”,从而创建新范围。除极少数情况外,应避免使用此多活动JavaScript环境。
这些多个执行上下文会导致问题,因为没有范围 任何其他人的可见性,意味着在上下文之间共享数据 没有笨拙地使用应用程序级自定义就不可能 事件(使用Titanium.App addEventListener和fireEvent)。他们能 也导致循环引用和可能的内存泄漏。有 生命周期问题,在什么时候变得不清楚代码 给定的JavaScript文件已经过评估。
虽然这种方法有一些合理的用例,例如 一个“应用程序内的应用程序”,每个新窗口都需要“干净的石板” 没有依赖于全局上下文,通常是带有URL的窗口 不应该使用。