调用声明为函数的对象

时间:2012-12-27 20:47:48

标签: javascript function object methods

在下面的代码中,我试图调用一个声明为对象的方法。我该如何调用该函数?

var draw = function() {
    anotherFunction();
}

draw();

我收到错误“TypeError:对象[对象窗口]的属性'绘图'不是函数”

感谢。

1 个答案:

答案 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的函数返回它,或类似的东西。