对象内的函数导致错误

functions within objects causing an error

我正在尝试完成一个小的 js 任务,编写了代码,但出现语法错误。你们能告诉我其中有什么错误吗?

任务是创建一个名为 myBalance 的新变量,该变量使用密码参数 1234 调用 askTeller 函数。

function Person(first,last,age) {
   this.firstname = first;
   this.lastname = last;
   this.age = age;
   var bankBalance = 7500;

   this.askTeller = function(pass) {
     if (pass == 1234) return bankBalance;
     else return "Wrong password.";
   };
}

var john = new Person('John','Smith',30);
/* the variable myBalance should access askTeller()
   with a password as an argument  */
var myBalance = this.askTeller.function(1234);

你需要这个:

var myBalance = john.askTeller(1234);

原因是您创建了 john 作为一个新人。现在 john 拥有您在 Person 构造函数中创建的所有 methods/properties,包括 askTeller.

添加到 wjohnsto,您正在创建一个带有名为 askTeller 的函数的 class,您所要做的就是为 Person class 创建一个实例,然后访问它的方法。

ClassObject.MethodName(Parameters)这样。

askTellerPerson 的成员。因此,您需要一个 Person 对象才能调用该函数。您已经创建了一个 john,所以您只需要使用 john.askTeller.

var myBalance = john.askTeller(1234);