我正在查看 GMail 执行的一些 AJAX 调用,我注意到有时调用的返回值以数字开头。示例:(注意第一行后面没有分号)
3
[1, 2];
如果我将它输入到 JavaScript 控制台,我会得到 undefined 返回。但是,如果第二个参数是数字或字符串,我会返回第二个参数。例子:
3
4
返回 4。
我的猜测是他们这样做是为了阻止 jsonp 类型的攻击,但是,有谁知道正在进行什么基础评估?在第二种情况下,我相信在第一行之后“插入”一个分号,这将使返回 4 有意义。但是,我想不出第一个表达式返回未定义的原因。