Вам не нужна переменная «_». Вы можете напрямую создавать глобальные переменные с помощью области окна:
window["foo"] = "bar";
alert(foo); // Gives "bar"
Вот еще несколько пунктов:
- Я бы не назвал эту функцию «присваивать «потому что это слишком общий термин.
- Чтобы более точно напоминать синтаксис JS 1.7, я бы заставил функцию принять назначение в качестве первого аргумента, а источник - вторым аргументом.
- Использование литерала объекта для передачи целевых переменных классно, но его можно путать с JS 1.7 destructuring, где пункт назначения фактически является объектом, а не массивом. Я предпочитаю использовать список имен переменных с разделителями-запятыми в виде строки.
Вот что я придумал:
function destructure(dest, src) {
dest = dest.split(",");
for (var i = 0; i < src.length; i++) {
window[dest[i]] = src[i];
}
}
var arr = [42, 66];
destructure("var1,var2", arr);
alert(var1); // Gives 42
alert(var2); // Gives 66
задан Jaymutt78 28 February 2019 в 22:36
поделиться