【发布时间】:2014-02-16 14:07:54
【问题描述】:
我有以下结构:
appInterface = {
mainWinCanvas: document.getElementById("mainwindow"),
mainWinContext: mainWinCanvas.getContext("2d"),
mainWinCanvasWidth: mainWinCanvas.width,
mainWinCanvasHeight: mainWinCanvas.height,
mainWinCanvasData: mainWinContext.getImageData(0, 0, mainWinCanvasWidth, mainWinCanvasHeight)
}
并在 Firebug 中出现此错误:
mainWinCanvas is not defined
是什么原因造成的?我确定脚本在之前的子元素完全加载后被调用。 我的目标是使代码更具可读性,它的无对象版本正在工作:(
【问题讨论】:
-
那么,该怎么办?似乎第一个评论者抹去了这个建议......
-
只需将属性名称替换为
document.getElementById("mainwindow")(也可以在对象字面量之外缓存),或者使用getter,或者使用构造函数创建对象。 -
是的,但这给代码添加了太多字母。第二个想法很酷,但这意味着没有结构良好的对象。第三个似乎会添加更多代码。
-
是的,这是允许的,但只能将一个参数传递给 setter。当然,您可以在数组或对象中传递多个值。
-
如何为没有值的属性设置值?
标签: javascript reference defined