【发布时间】:2020-05-26 04:22:39
【问题描述】:
这里是Javascript新手。关于这个主题已经写了很多,但我找不到答案(所以我试图做的可能是错误的形式):
我可以向现有函数添加属性,但我想知道是否可以向函数添加新参数(不只是覆盖函数)。
取一个已有的函数(我正好用这个作为构造函数):
function Employee(name) {
this.name = name;
}
我想添加一个“工作”属性。我会写
Employee.job = job;
但 Employee 只有一个参数(“姓名”)。我想给 Employee 函数一个额外的参数:“job”。
所以想要的最终结果应该是这样的:
function Employee(name, job) {
this.name = name;
this.job = job;
}
有没有办法做到这一点?
【问题讨论】:
-
Employee.job = job;为函数添加静态属性。使用new Employee()创建的Employee实例将无法访问它。你为什么不想改变功能?你唯一能做的就是继承原型并创建一个新函数 -
你是说运行时的uodate参数吗?
-
在这种情况下,是的(我正在 Chrome 调试控制台中进行试验),但我有兴趣找到适用于任何场景的解决方案。
-
@adiga 我想在构造函数中添加一个参数,所以
job不是静态的。目标是:当我执行let employee1 = new Employee (name, job)时,我可以将我想要的任何名称和工作传递给新对象。 -
最好的方法是将
Employee函数重写为所需的代码。为什么要动态执行此操作?
标签: javascript function parameters