2016-02-18 5 views
1

Я кодирую в node.js atm. Мне нужно создать динамическую переменную и вызвать ее.Есть ли способ печати динамических переменных?

.: например

username = 'im_a_user'; 

global['ws[' + username + ']'] = ws; //(yes, i want to store the connection with ws module) 

но

ws[im_a_user].send('blabla'); 

не работает, а узел выключается. Поэтому я хочу знать, как выглядит global['ws[' + username + ']'] для debbuging.


Вы знаете, как я могу распечатать его - или даже лучше, почему im_a_user в ws[im_a_user].send('blabla'); не определен?

Спасибо за ваше время!

+1

'im_a_user' не имя переменной вы хотите использовать, завернуть его в кавычки, или использовать ранее определенную переменную 'username'. – Teemu

+1

* facepalm * - цитаты ... Все это делает сейчас: D! Это сработало для меня. Вы не знаете, насколько я счастлив. Thx много - я имею в виду A LOT xD – dunnohowishouldnamemyself

+1

Кроме того, точечная нотация также будет работать: 'ws.im_a_user.send (...);'. – Teemu

ответ

0

Доступ к объекту возможен с помощью скобок, но вы должны дать ему правильное выражение: строковый литерал или переменную. Похоже, вы ссылаетесь на переменную, которая не определена. Вот где Узел задыхается.

Так что попробуйте либо с переменной, которая определяется

var key = 'im_a_user' 
ws[key].send('blabla'); 

или строковый литерал

ws['im_a_user'].send('blabla'); 
+0

«Теему» уже сказал мне! Но спасибо вам в любом случае;) – dunnohowishouldnamemyself

Смежные вопросы