在下面的代码中,我试图调用一个声明为对象的方法。我该如何调用该函数?
var draw = function() {
anotherFunction();
}
draw();
我收到错误“TypeError:对象[对象窗口]的属性'绘图'不是函数”
感谢。
答案 0 :(得分:0)
快速Javascript范围教训;当你这样做时:
function someFunction() {
var foo = 'bar';
}
someFunction();
// foo doesn't exist
只要执行someFunction,foo
变量才会存在;之后就消失了。
您可以通过在“全局对象”上设置foo来解决此问题,即。 “窗口”:
function someFunction() {
window.foo = 'bar';
}
someFunction();
// foo does exist!
然而,除非你有一个非常小的网站,否则会很快变得混乱(编程语言的范围有一个原因:将所有内容放在全球空间中很难处理)。
因此,你真正需要做的是仔细查看创建foo的内容(嗯,在你的情况下draw
)以及使用foo(draw
)的内容,看看你能不能让两者更接近,或者让创建draw
的函数返回它,或类似的东西。