Передать адрес как переменную

105
02 декабря 2020, 05:00

Я хочу написать функцию, которая принимает ссылку на определенный объект (адрес) как аргумент и в конце выполнения присваивает полученный результат по указанному адресу. Пример:

var obj = {}
obj.firstProp = null;
obj.secondProp = null;
obj.thirdProp = null;
function export(target)  {
    // выполняется код
    var result = 5;
    target = result;
}
export(obj.secondProp); // Не выполняется, т.к. ссылка на obj.subObj возвращает null

Как мне указать obj.secondProp в качестве адреса либо решить эту проблему иным путем?

Answer 1

export вроде зарезервировано JavaScripto'oм :)

Переименуй функцию, во первых. Во вторых объекты и являются ссылочными типами, а ты передаёшь значение одного из свойств. Как вариант - передавать два параметра, ссылку на объект и свойство:

var obj = {}
obj.firstProp = null;
obj.secondProp = null;
obj.thirdProp = null;
function exports(target, property)  {
    if(target.hasOwnProperty(property)){
        target[property] = 5;
    }
}
exports(obj, "secondProp");
console.log(obj.secondProp);
READ ALSO
Проблема с yandex-maps-api

Проблема с yandex-maps-api

Когда кликаю на меню, то открывается балун, но не пропадает иконка под ним

116
Зачем в коде if? [закрыт]

Зачем в коде if? [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

112
Почему не выводится textContent?

Почему не выводится textContent?

К примеру имеем обычные параграфы

124
Динамическое подключение js скрипта

Динамическое подключение js скрипта

Пишу сайт интернет-магазинВ качестве инструментов голые php,js,css,mysql

105