Я смотрел на некоторые вызовы AJAX, которые GMail делает, и я заметил, что иногда возвращаемое значение вызовов начиналось с числа. Пример: (обратите внимание, что после первой строки нет точки с запятой)
3
[1, 2];
Если бы я ввел это в консоль JavaScript, я бы вернул обратно undefined. Однако, если вторым параметром является число или строка, я бы получил второй возвращаемый параметр. Пример:
3
4
Возвращает 4.
Мое предположение заключается в том, что они делают это, чтобы остановить атаки типа jsonp, однако кто-нибудь знает, что делает базовая оценка? Во втором случае я считаю, что после первой строки "вставлена" точка с запятой, что сделает возвращение 4 понятным. Однако я не могу придумать, почему первое выражение вернет undefined.