Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задание имени переменной из другой (https://javascript.ru/forum/misc/8911-zadanie-imeni-peremennojj-iz-drugojj.html)

Nekromancer 20.04.2010 23:09

Цитата:

Сообщение от exec (Сообщение 52346)
var vars = 'name';
window[vars] = value;

Угу, угу :write: а локально никак, ибо в scope не залезешь.. так что хэш массивы.. по другому никак..

П.С. Это не php ;)

vvsh 21.04.2010 01:14

та в Php всё просто и без заморочек, почему разработчикам js нельзя было сделать синтаксис как в php, слава богу, что и так много похоже.

Всем спасибо, придется делать массив...

Gvozd 21.04.2010 01:28

Цитата:

Сообщение от vvsh
та в Php всё просто и без заморочек, почему разработчикам js нельзя было сделать синтаксис как в php, слава богу, что и так много похоже.

бог мой, сделайте мои глаза разувидеть это.
неужели он это серьезно написал?!

DooMer 21.04.2010 17:38

хм, а если так
var a="b";
eval("var " + a + ";");

не проверял, но теоретически должно

Nekromancer 21.04.2010 20:32

(function(){
var a = "b";
eval("var " + a + " = 'test';");
alert(b)
}());


Правда работает, но это извращение какое то уже.. правда если сильно хочется, можно и так.. но уже обратно переменную в качестве строки не получите.. в отличии от метода с объектом.

x-yuri 21.04.2010 21:41

vvsh, ты б рассказал, зачем тебе создавать переменную с заранее неизвестным именем? Иначе вот ответ на твой вопрос

Цитата:

Сообщение от vvsh
та в Php всё просто и без заморочек, почему разработчикам js нельзя было сделать синтаксис как в php, слава богу, что и так много похоже.

потому что php - это не js, потому что js создавали разработчики js, а не php. И, в конце концов, если только ты видишь заморочки, это обычно означает, что реальные заморочки - это то, что ты видишь, эти свои заморочки. И вообще, не надо писать на js как будто это php ;)

vvsh 22.04.2010 00:06

Цитата:

vvsh, ты б рассказал, зачем тебе создавать переменную с заранее неизвестным именем? Иначе вот ответ на твой вопрос
в моем скрипте виртуальной клавиатуры есть кнопки caps и shift и есть функция которая включает/выключает капс и шифт, вот я передаю название той клавиши которая была нажата, капс/шифт, и мне надо в глобальную переменную в зависимости от названия загонять значение, а проверки я делать не хочу

Цитата:

И вообще, не надо писать на js как будто это php
на мой стиль кода намекаете что-ли?

просто PHP мне нравится, обычно я пишу только на нем, а javascript это уже у меня как аякс

x-yuri 22.04.2010 01:18

Цитата:

Сообщение от vvsh
и мне надо в глобальную переменную в зависимости от названия загонять значение, а проверки я делать не хочу

глобальная переменная не одна?

Цитата:

Сообщение от vvsh
на мой стиль кода намекаете что-ли?

я сказал то, что хотел сказать. На стиль кодирования я не намекал, но вряд ли ты им можешь похвастаться

Цитата:

Сообщение от vvsh
просто PHP мне нравится, обычно я пишу только на нем, а javascript это уже у меня как аякс

но это ведь не причина ожидать от js, чтобы он был php. Иначе у него было бы другое название ;)

vvsh 22.04.2010 19:48

Цитата:

глобальная переменная не одна?
не, в этом и дело

Цитата:

я сказал то, что хотел сказать. На стиль кодирования я не намекал, но вряд ли ты им можешь похвастаться
а у меня смесь php и js

x-yuri 22.04.2010 22:22

Цитата:

Сообщение от vvsh
не, в этом и дело

как ответили выше:
var varName = 'name'; 
window[varName] = value;

а то, что в php к глобальным переменным через $GLOBALS[$var_name] обращаться тебя не смущает?
p.s. хотя, возможно, было бы лучше не использовать глобальные переменные

Цитата:

Сообщение от vvsh
а у меня смесь php и js

ну и ССЗБ ;)


Часовой пояс GMT +3, время: 20:26.