GMail が行う AJAX 呼び出しのいくつかを見ていましたが、呼び出しの戻り値が数字で始まる場合があることに気付きました。例: (最初の行の後にセミコロンがないことに注意してください)
3
[1, 2];
これを JavaScript コンソールに入力すると、 undefined が返されます。ただし、2 番目のパラメーターが数値または文字列の場合は、2 番目のパラメーターが返されます。例:
3
4
4 を返します。
私の推測では、彼らはjsonpタイプの攻撃を阻止するためにこれを行っていると思いますが、根底にある評価が行われていることを知っている人はいますか? 2番目のケースでは、最初の行の後にセミコロンが「挿入」されていると思います。これにより、4を返すことが理にかなっています。ただし、最初の式が undefined を返す理由が思いつきません。