gpt4 book ai didi

javascript - 如何在 Javascript 的 Constructor.prototype 中定义局部函数

转载 作者:行者123 更新时间:2023-11-29 19:09:08 25 4
gpt4 key购买 nike

大家好,在我无法在我的 Manager.prototype 中定义本地函数的场景中,我遇到了困难。请在下面找到详细信息..

我有一个构造函数雇员。

function Employee(id){
this.id = id;
}
Employee.prototype.getID = function(){
return this.id;
}
var mark = new Employee(123);

同样,我有一个构造函数管理器

function Manager(managerOf){
this.managerOf = managerOf;
}
Manager.prototype = Object.create(Employee.prototype);
Manager.prototype.getManagerOf = function(){
return this.managerOf;
}
var john = new Manager(mark);

现在我想定义一个函数 calcSalary(),它只能从 getManagerOf() 方法访问并且不能从外部访问。 [john.calcSalary() 不应该工作]

最佳答案

您可以使用自执行函数隐藏它。

var Manager = (function() {
function calcSalary() {}
function Manager(managerOf){
this.managerOf = managerOf;
}
Manager.prototype = Object.create(Employee.prototype);
Manager.prototype.getManagerOf = function(){
// call calcSalary
return this.managerOf;
}
return Manager;
}());

var john = new Manager(mark);

关于javascript - 如何在 Javascript 的 Constructor.prototype 中定义局部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40487433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com