JavaScript 错误(未捕获的语法错误:意外的输入结束)

问题描述 投票:0回答:12

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

在 Chrome JS 控制台中,我收到以下错误:

“未捕获的语法错误:输入意外结束”。

我使用的 JavaScript 代码是:

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

它说错误在最后一行,即

});

javascript jquery syntax syntax-error indentation
12个回答
476
投票

添加第二个

});

正确缩进后,您的代码将显示为

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

你从未关闭过外部

$(function() {


102
投票

就我而言,我试图解析一个空的 JSON:

JSON.parse(stringifiedJSON);

换句话说,发生的事情如下:

JSON.parse("");

40
投票

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

此外,通过 Google Chrome,您可以使用“漂亮的打印”。请参阅下面的示例屏幕截图,其中显示来自 Stack Overflow 的

jquery.min.js
在我的浏览器中完美缩进:)

enter image description here


16
投票

稍微格式化你的代码,你只关闭了内部悬停功能。 您尚未关闭外部部件,如下所示:

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

12
投票

就我而言,这是由于锚点中的

(0)
中缺少
javascript:void(0)
造成的。


7
投票

就我而言,它最终成为我的小书签中的一个简单双引号问题,请记住仅在小书签上使用单引号。以防万一这对某人有帮助。


6
投票

此错误主要是由于尝试解析空 JSON 时返回空的 ajax 调用引起的。

解决此测试如果返回数据为空

$.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);
        }
    }
});

3
投票

当我尝试编写 JavaScript 书签时,出现此错误。我不明白是什么原因造成的。但最终我尝试通过以下网站对小书签进行 URL 编码:http://mrcoles.com/bookmarklet/ 然后错误消失了,所以这一定是 javascript 代码中的某些字符被解释为的问题特殊的 URL 控制字符。


1
投票

我得到这个是因为我在添加到 JS 的文件中添加了一条评论,这对于正在发生的事情来说确实是一个尴尬的原因 - 尽管当单击预渲染并捕获错误的

VM
文件时,你会发现找出错误到底是什么,就我而言,它只是取消注释我正在使用的一些代码。


1
投票

我还收到此错误,指向页面上最后一个脚本块的末尾,只是意识到该错误实际上是由于单击带有

onclick="pagename"
而不是
onclick="window.location='pagename'"
的元素而导致的。并不总是缺少括号!


1
投票

我认为这可能是您的应用程序中的几乎所有 JavaScript 错误/打字错误。 我尝试删除一个又一个的文件内容,最后发现打字错误。


0
投票

由于这一行,我收到此错误:

<button type="button" id="button" onclick="Continue(); document.body.style.cursor = "wait"; this.disabled = true;"> Continue </button>

注意wait周围的双引号。将 wait 周围的双引号更改为单引号修复了它。

© www.soinside.com 2019 - 2024. All rights reserved.