Javascript支持闭包,因此您编写的匿名函数将能够从封闭范围访问
xhttp和访问。
msg``doRequest()
如果要显式地执行此操作(例如,如果要在代码中的其他位置定义回调函数并重用它),则可以创建一个函数来创建回调。这也使您可以使用不同的名称(例如
x和
m)来对变量进行别名别名:
function createCallback(x, m) { return function() { };}然后
doRequest(),做
xhttp.onreadystatechange = createCallback(xhttp, msg);
如果您只想“重命名”变量,则可以内联和匿名进行:
xhttp.onreadystatechange = (function(x, m) { return function() { }})(xhttp, msg);


