Снова вводится точка с запятой!
return
{
init : function a(s)
{
init(s);
}
};
должно быть
return {
init : function a(s)
{
init(s);
}
};
Это результат «функции» в JavaScript, которая просматривает вашу строку с return
и говорит: «о, вы забыли свою точку с запятой, я добавлю ее для вас».
Он меняется return
на return;
, поэтому ваша функция теперь возвращает неопределенное значение, а затем под ней находится какой-то голый JSON, который является источником вашей ошибки. Дуглас Крокфорд фактически описывает это как одну из «ужасных частей» JavaScript.
Итак, мораль этой истории такова: всегда ставьте начальную скобку на одной строке, когда вы кодируете в JavaScript.