Проблема в том, что вы рассматриваете свойства объекта как их собственную переменную.Они работают аналогично, но это означает, что вы не можете их объявить.Поэтому, когда вы говорите var options.lol
, интерпретатор пытается разобрать options.lol
в качестве действительного идентификатора, чего, очевидно, нет.В Javascript вы можете просто динамически привязывать свойства, не нужно нигде их объявлять:
options.lol = 'Test';
Кроме того, я предполагаю, что причина, по которой вы используете eval
, заключается в том, что вы этого не делаетезнать, какое свойство вы на самом деле будете устанавливать.Javascript на самом деле имеет синтаксис для этого:
options['lol'] = 'Test';
На самом деле, вы должны почти никогда нужно использовать eval
, чтобы что-то делать.