如何调用另一个函数中的函数javascript

如何调用另一个函数中的函数javascript,javascript,function,function-calls,Javascript,Function,Function Calls,我有两个文件,如下所示: trycapture.js trycapture(){ ... some code function drawaggregate(){ ... definition } } .. some variables var try_obj = new trycapture(); try_obj.drawAggregate(emit_x1,emit_y1,emit_x2,emit_y2); main.js trycapture(){ ... some code fun

我有两个文件,如下所示:

trycapture.js

trycapture(){
... some code
function drawaggregate(){
... definition
   }
}
.. some variables
var try_obj = new trycapture();
try_obj.drawAggregate(emit_x1,emit_y1,emit_x2,emit_y2);
main.js

trycapture(){
... some code
function drawaggregate(){
... definition
   }
}
.. some variables
var try_obj = new trycapture();
try_obj.drawAggregate(emit_x1,emit_y1,emit_x2,emit_y2);
HTML

<head>
<script src="trycapture.js"></script>
<script src="js/main.js"></script>
</head>

我如何调用该函数。在调用drawaggregation()之前,我尝试创建一个对象,如上图所示:

我仍然得到错误:

TypeError:try_obj.drawaggregate不是函数

此外,在index.html中,我确保在main.js之前包含trycapture.js。如何调用该函数?

Add

this.drawaggregate = drawaggregate;
在函数定义之后,使其成为trycapture对象的公共方法


总的来说,您将把trycapture.js更改为以下内容:

function trycapture(){
    ... some code

    // Locally accessible only
    function drawaggregate(){
        ... definition
    }
    this.drawaggregate = drawaggregate; // Makes it publicly accessible also
}

然后可以像这样调用
drawaggregate()
方法:

var try_obj = new trycapture();
try_obj.drawaggregate();

你能发布完整的代码吗?你能提供一些关于函数设置的实际代码吗?如果没有看到你的源代码,就无法帮助解决你的问题。请检查,并包括一个。否则,此问题将被关闭。
console.log(try_obj)
首先查看
try_obj
中的实际内容。它正在创建您期望的对象吗?您对
drawaggregate
的调用是否使用了正确的大小写、拼写等?更多的代码可能会在这里有用:)您是否在HTML页面中同时包含这两个文件?trycapture.js是否包含在main.js之前?即使没有对象,我现在也可以调用该函数。这正常吗?是的,正常。这取决于许多事情,而且超出了这个评论框的范围。所以这里的解释可能是不完整和混乱的。示例1:如果您碰巧从一个匿名函数(如
onload
事件侦听器)内部调用了
new trycapture()
,那么
trycapture
内部的
将引用
窗口
对象。因此,
drawaggregate
将成为一个全局窗口函数,可以从任何地方调用。示例2:如果您在
trycapture
函数命名空间内,则允许(并且应该)将
drawaggregate
作为本地函数而不是对象的方法调用。