Javascript 无法从实例名称调用返回的方法

Javascript 无法从实例名称调用返回的方法,javascript,Javascript,在下面的代码中,我无法调用由jobcainer返回的job1和job2 // Code goes here var jobContainer = function() { var count = 0; var task1 = function() { count += 1; console.log("inside task1 " + count); }; var task2 = function() { count += 1; consol

在下面的代码中,我无法调用由
jobcainer
返回的
job1
job2

// Code goes here

var jobContainer = function() {

  var count = 0;

  var task1 = function() {
    count += 1;
    console.log("inside task1 " + count);
  };

  var task2 = function() {
    count += 1;
    console.log("inside task2 " + count);
  };

  return {
    job1: task1(),
    job2: task2()
  };

};

var tasker = jobContainer();
tasker.job1 // not working
tasker.job2 // not working
tasker.job2 // not working
输出:

inside task1 1
inside task2 2

谢谢

您返回的执行结果是
task1
task2
而不是函数,因此请替换:

return {
  job1: task1(),
  job2: task2()
};

祝你好运返回的数据不正确
//代码在这里
var jobContainer=函数(){
var计数=0;
var task1=函数(){
计数+=1;
console.log(“内部任务1”+计数);
};
var task2=函数(){
计数+=1;
控制台日志(“内部任务2”+计数);
};
返回{
作业1:任务1,
工作2:任务2
};
};
var tasker=jobContainer();
tasker.job1()
tasker.job2()
tasker.job2()
问题是,如果我理解您试图正确执行的操作,那么您是在构造返回对象之前调用函数的。我猜您的目的是返回函数本身,而不是返回值

将上述代码更改为(注意,未调用函数):

然后将第二位更改为:

var tasker = jobContainer();
tasker.job1()
tasker.job2()
tasker.job2()

注意,我们现在正在调用函数

返回{job1:task1,job2:task2}
return {
    job1: task1(),
    job2: task2()
};
return {
    job1: task1,
    job2: task2
  };
var tasker = jobContainer();
tasker.job1()
tasker.job2()
tasker.job2()