Как показано в this jsfiddle, если у вас есть JS файл, и вы создаете объект JSON без его использования, он ведет себя по-разному в зависимости от того, будет ли ключи (члены) заключены в кавычки или нет.
действительный код: { a: 1};
неверный код: { "a": 1 };
То, что вы получите, - это сообщение об ошибке (в Chrome, другое для FF/IE, но по-прежнему не выполняется синтаксис)
Uncaught SyntaxError: Неожиданный токен:
но если вы каким-то образом используете объект, например: alert({ "a": 1 });
все снова ОК.
Почему это происходит?