Есть ли способ преобразовать имена переменных в строки в JavaScript? Чтобы быть более конкретным:
var a = 1, b = 2, c = 'hello'; var array = [a, b, c];
Теперь, когда я прохожу массив, мне нужно получить имена переменных (вместо их значений) в виде строк - это будет 'a' или 'b' или 'c'. И мне действительно нужно, чтобы это была строка, чтобы ее можно было записать. Как я могу это сделать?
Использовать литерал объекта Javascript:
var obj = { a: 1, b: 2, c: 'hello' };
Затем вы можете пройти его так:
for (var key in obj){ console.log(key, obj[key]); }
И получить доступ к свойствам объекта следующим образом:
console.log(obj.a, obj.c);
Что вы можете сделать, это что-то вроде:
var hash = {}; hash.a = 1; hash.b = 2; hash.c = 'hello'; for(key in hash) { // key would be 'a' and hash[key] would be 1, and so on. }
Отказ от вещей Триптиха (Который Спасибо) ...
(function(){ (createSingleton = function(name){ // global this[name] = (function(params){ for(var i in params){ this[i] = params[i]; console.log('params[i]: ' + i + ' = ' + params[i]); } return this; })({key: 'val', name: 'param'}); })('singleton'); console.log(singleton.key); })();
Просто подумал, что это хороший маленький автономный паттерн ... надеюсь, это поможет! Спасибо Триптих!