我正在使用私有方法,但我无意中发现,我可以调用一个方法,该方法使用 ()() 调用私有方法 - 双括号而不是将其分配给变量几次。
这是我的代码,使其更清晰:
function Person(name, age) {
this.name = name;
this.age = age;
var bankBalance = 7500;
var returnBalance = function() {
return bankBalance;
};
this.askTeller = function() {
return returnBalance;
}
}
var john = new Person('John', 'Smith', 30);
console.log(john.returnBalance); // undefined
var myBalanceMethod = john.askTeller();
var myBalance = myBalanceMethod();
console.log(myBalance); // 7500
console.log(john.askTeller()()); // 7500 (same result but one line instead of three
那么, - ()() 语法是否有效?