Есть глобальный объект
const newObj = {
param0: 0,
params: {
..,
..,
},
extraparams: {
overwriteFunction: function () {
alert(localParam);
}
}
}
Свойства в extraparams должны перезаписывать свойства другого подобного объекта. Этот второй объект находится в функции.
В контексте второго объекта, есть переменная localParam, которая должна будет использоваться в переданной из первого объекта функции.
Как можно передать функцию не как ссылку, а использовать её как новосозданную?
или есть другие, более легкие (менее глупые) решения?
UPD:
Смысл в том, чтобы использовать переменные, определенные в той функции, в которой эти самые функции переопределяются.
Есть ранее описанный объект newObj.
Есть Функция
function ObjectLoading() {
let localParam = 'Alert';
const newObjx = {
extraparams:{
overwriteFunc: function () {
// ПУСТО
}
}
}
Далее, в функции есть подобие перезаписи:
for (let param in newObj['extraparams']) { // Глобальный newObj
newObjx['extraparams'][param] = newObj['extraparams'][param];
}
После перезаписи, программа должна будет выполнить функцию с этим самым localParam.
Глобально, этой переменной не существует и программа выдает ошибку.