Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
Собственно, вопрос звучит так: - как в JS обратиться к содержимому (прочитать или изменить его) переменной, имя которой заранее неизвестно, но известно, что оно будет находиться в другой (известной) переменной? Например, в некоем цикле от 1 до 9 программно формируются имена переменных: Код: plaintext Можно ли это сделать средствами JS? Подскажите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 10:20 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
не хочу давать плохих советов, потому спрошу, зачем переменные? еще вопрос, а к чему еще можно обратится кроме как к содержимому переменной? лучше описать задачу, чем выдумывать странное решение задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 10:26 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
я не вчитывался что вам надо, но может типа такого Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 10:32 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajka Код: plaintext мне кажется, всем этим "переменным" место в единственном массиве ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 10:54 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
Владимир2012, eval это тот самый вредный совет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:03 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
Var79eval это тот самый вредный советНе безопасно ... Совет не вредный. У автора топик что имеется сайт который хакеры мечтают сломать? Скорее всего пока нет ... А когда подучится, то во всем сам разберется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:16 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
Var79, Может и странное - но каждый решает проблемы, основываясь на каком-либо уже известном ему фундаменте. Мне известен именно такой, а фундамент JS я пока только изучаю, потому и спрашиваю здесь. Возможно, в JS есть и лучший способ. Конкретнее - примерно так. В цикле формируются имена нумерованных переменных (возможно лучше - ассоциативный массив), в которых будет накапливаться HTML-код, формируемый в том же цикле. Сам код представляет из себя самодостаточные элементы WEB-страницы. В дальнейшем после цикла - в зависимости от внешних условий все (или некоторые) эти элементы будут выводиться посетителю на странице в том или ином порядке. Ещё более конкретно - пытаюсь сформировать сейчас на тестовой площадке. Как оформлю более-менее вразумительно - выложу ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:21 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajkaНапример, в некоем цикле от 1 до 9 программно формируются имена переменных: Код: plaintext Для решения таких задач есть массивы... neznajka- как в JS обратиться к содержимому (прочитать или изменить его) переменной, имя которой заранее неизвестно, но известно, что оно будет находиться в другой (известной) переменной? Для всего остального есть объекты. Там под разными "ключами" можно хранить разное содержимое. И обращение к ключам возможно по имени Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:22 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
krvsa, СПАСИБО! Блин, я как-то об объектах и не подумал... Кажется, это мне подойдёт :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:28 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajka, не нужны никакие нумерованные переменные, я же приводил код Код: javascript 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:31 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajka, у объектов нет .join() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:33 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
Не всегда можно использовать массивы. Например, из page.evaluate нельзя вернуть массив. В таком случае используют JSON-сериализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 12:14 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
To all: М-да... Я тут подумал более тщательно - а может мне и вправду не стОит именно такой "огород" городить? Может, всё решается более просто... Короче, задумка возникла следующая. На странице имеется 2 древовидных раскрывающихся списка - раскрытие и оформление работают нормально и не имеют отношения к сути вопроса, поэтому привожу лишь html-код в "голом виде". Если скопировать данный код в полнооконный редактор, то можно увидеть, что он очень даже регулярный. Т.е. - этот код запросто можно сформировать в цикле (т.к. все цифровые значения этого дерева тоже вычисляются несложной формулой, которую легко привязать к шагу цикла). Но есть 2 существенных момента: 1) код деревьев хоть и несложен, но достаточно объёмен, особенно - 2-е дерево (оно длиннее, но структурно - такое же, и потому я его не привожу); 2) необходимость показа 1-го или 2-го дерева на странице - появляется далеко не всегда и зависит от действий пользователя (захочет ли он изменить предложенное по-умолчанию, или захочет ли он ввести нужное ему значение вручную, или же предпочтёт выбрать стандартное значение из списка); Вот и возникла идея - не гонять с сервера такой нечасто требуемый но легко формируемый html-код, а формировать его на стороне клиента только в случае необходимости. Вот и подыскиваю способ сделать это "поизящнее" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 12:53 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajka, можно пригнать масимальный код только обин раз и прятать не нужное через display=none присваивая это определённым классам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 13:20 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajka, Используйте шаблоны, например {{handlebars}} . Описываете как будет строится дерево по типовой структуре, в момент когда дерево нужно скармливаете шаблону данные, он генерит html, который внедряете в страницу. Ханделбарсы рекомендую именно потому что решение проверено, используется в некоторых фреймворках и отучает говнокодить в шаблоне, т.е. сразу привыкаете к правильной философии. При наличии сборщика шаблоны могут быть сразу перекомпилированы в js файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 13:47 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
To вадя: Я до сих пор так и делал. Но - хочу развиваться дальше :) To mage.lan: Спасибо! Я про такие компилируемые шаблоны не знал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 14:06 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
neznajkakrvsa, СПАСИБО! Блин, я как-то об объектах и не подумал... Забавно :) Объекты в JavaScript сочетают в себе два важных функционала. Первый – это ассоциативный массив: структура, пригодная для хранения любых данных... https://learn.javascript.ru/object ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 14:20 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
https://learn.javascript.ru/templates https://learn.javascript.ru/template-lodash https://learn.javascript.ru/template-tag ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 14:24 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
Спасибо, skyANA, - только не так быстро и обильно, пожалуйста: не успеваю переваривать :) Шутка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 15:05 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
авторЯ до сих пор так и делал. Но - хочу развиваться дальше :) если только для развития, а так для нормальной работы это павильное решение. всё остальное от лукавого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:00 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
вадяавторЯ до сих пор так и делал. Но - хочу развиваться дальше :) если только для развития, а так для нормальной работы это павильное решение. всё остальное от лукавого. угу. Давай опять на 20 страниц. Первый п.п. флейма выполнен. Фраза ни о чём произнесена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:20 |
|
||
|
Косвенная адресация в javascript
|
|||
|---|---|---|---|
|
#18+
вадяPetro123, как по-ть ты всегда найдёшь повод, а на практический вопрос ответь 19967295 вроде ты выше пытался про архитектуру и шаблонизацию что то сказать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:43 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39360642&tid=1444857]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 311ms |
| total: | 499ms |

| 0 / 0 |
