JavaScript错误(未捕获的SyntaxError:意外的input结束)

我有一些JavaScript代码可以在FireFox中使用,但不能在Chrome或IE中使用。

在Chrome的JS控制台,我得到以下错误:

“未捕获的SyntaxError:意外的input结束”。

我使用的JavaScript代码是:

<script> $(function() { $("#mewlyDiagnosed").hover(function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); }); </script> 

它说错误是在最后一行});

添加第二个});

正确缩进时,您的代码读取

 $(function() { $("#mewlyDiagnosed").hover(function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); }); MISSING! 

你永远不会closures外部$(function() {

在我的情况下,我试图parsing一个空的JSON:

 JSON.parse(stringifiedJSON); 

换句话说,发生了以下事情:

 JSON.parse(""); 

http://jsbeautifier.org/有助于缩进你的缩小的JS代码。;

另外,使用谷歌浏览器,你可以使用“漂亮的打印”。 看下面的示例屏幕截图,显示来自Stack Overflow的jquery.min.js ,很好地从我的浏览器中缩进:)

在这里输入图像说明

有点格式化你的代码,你只closures了内部hoverfunction。 你还没有closures外面的部分,下面标记….

 $(// missing closing) function() { // missing closing } $("#mewlyDiagnosed").hover( function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); }); 

在我的情况下,它是一个简单的双引号问题在我的书签 ,记住只使用单引号对bookmarklets。 以防万一这有助于某人。

当我试图写一个JavaScript书签时,我得到了这个错误。 我无法弄清楚是什么原因造成的。 但最终我尝试通过以下网站对url进行url编码: http : //mrcoles.com/bookmarklet/然后错误消失了,所以一定是javascript代码中的某些字符被解释为特殊的URL控制字符。

这个错误主要是由空的返回ajax调用引起的,当试图parsing一个空的Json

要解决这个testing,如果返回的数据是空的

  $.ajax({ url: url, type: "get", dataType: "json", success: function (response) { if(response.data.length == 0){ // EMPTY }else{ var obj =jQuery.parseJSON(response.data); console.log(obj); } } }); 

我得到了这个,因为我在我的JS中添加了一个文件的评论,这是一个非常尴尬的原因 – 当点击预渲染的VM文件并捕获错误时,你会发现究竟是什么错误是,在我的情况下,它只是取消注释我正在使用的一些代码。