我在 Javascript 中有一个对象,并希望使用一个函数处理传递给构造函数的数据,该函数稍后可以用更多数据在外部调用。自然我不想复制代码(一次在构造函数中,一次在函数中),那么我应该如何最好地设置它?
我可以使用嵌套函数,但有人告诉我这是低效的:
function MyOb(data) {
this.myData = {};
function addData(newData) {
//Add newData to myData
}
addData(data);
}
但是,如果我使用原型,我会在第 3 行收到“找不到变量 addData”错误:
function MyOb(data) {
this.myData = {};
addData(data);
}
MyOb.prototype.addData = function(newData) {
//Add newData to myData
}
那么我是否被迫使用嵌套函数或重复自己,或者有没有办法使用原型来完成这项工作?