javascript意外标识符

Jer*_*dev 16 javascript

我正在尝试压缩我的JavaScript代码以减少我网站上的流量.它一直工作正常,但现在我遇到了一个我无法解决的错误.

我把我的ajax函数变成了一行:

function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){document.getElementById("content").innerHTML=xmlhttp.responseText;}}xmlhttp.open("GET","data/"+id+".html",true);xmlhttp.send();}
Run Code Online (Sandbox Code Playgroud)

但是chrome控制台告诉我这条线上有一个意外的标识符.Firefox说这条线路上缺少一个分号.

我一直试图弄清楚出了什么问题,但我找不到错误,有人可以帮我解决这个问题吗?

pim*_*vdb 35

是的,你有}太多了.无论如何,压缩自己往往会导致错误.

function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        document.getElementById("content").innerHTML = xmlhttp.responseText;
    }
} // <-- end function?
xmlhttp.open("GET", "data/" + id + ".html", true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)

请改用Closure Compiler.

  • 在Object中缺少逗号也会遇到同样的错误. (4认同)

Dan*_*ker 10

我建议使用http://jsbeautifier.org/ - 如果您将代码段粘贴到其中并按美化,则错误立即可见.

  • 这实际上并没有回答这个问题。错误是什么? (2认同)