0

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

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

draw();

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

谢谢。

4

1 回答 1

0

快速 Javascript 范围界定课程;当你这样做时:

 function someFunction() {
      var foo = 'bar';
 }
 someFunction();
 // foo doesn't exist

foo变量仅在执行 someFunction 时才存在;之后它就消失了。

您可以通过在“全局对象”上设置 foo 来解决此问题,即。“窗户”:

 function someFunction() {
      window.foo = 'bar';
 }
 someFunction();
 // foo does exist!

但是,除非您的站点非常小,否则很快就会变得混乱(编程语言有范围是有原因的:将所有内容放在全局空间中很难使用)。

因此,您真正需要做的是更仔细地查看创建 foo 的内容(好吧,在您的情况下draw)以及使用 foo ( draw) 的内容,看看您是否不能让两者更接近,或者拥有创建drawreturn的函数它,或类似的东西。

于 2012-12-27T21:12:57.300 回答