JavaScript 错误(Uncaught SyntaxError: Unexpected end of input)

IT技术 javascript jquery syntax syntax-error indentation
2021-01-27 14:30:33

我有一些 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>

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

6个回答

添加第二个});

正确缩进后,您的代码会读取

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

你从来没有关闭外部$(function() {

缺少那个简单的}); 刚刚为我节省了 1 小时的调试时间。非常感谢@SLaks
2021-03-30 14:30:33
教训是,始终缩进您的代码(并正确缩进)。
2021-04-04 14:30:33
教训是,总是使用好的编辑器和好的插件,它可以检测括号配对,突出显示甚至修复问题。
2021-04-07 14:30:33
@HeyWatchThis 您可以为 Vim 尝试 Syntastic。
2021-04-07 14:30:33
我将 neomake 用于 vim/neovim,配置为每次保存 JavaScript 文件时运行 jshint。如果我有语法错误,我会在 vim/neovim 的排水沟中看到警告/错误符号。当我将光标放在该行上时,vim/neovim 命令行将显示一条消息,说明错误是什么。
2021-04-14 14:30:33

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

JSON.parse(stringifiedJSON);

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

JSON.parse("");
不幸的是,这包括$.parseJSONjquery 1.11.2
2021-03-31 14:30:33

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

此外,使用谷歌浏览器,您可以使用“漂亮的打印”。请参阅下面的示例屏幕截图,显示jquery.min.js在我的浏览器中缩进的 Stack Overflow 上:)

在此处输入图片说明

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

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

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

太感谢了!我从来不知道这会成为一个问题
2021-03-16 14:30:33
很高兴它有所帮助。
2021-03-22 14:30:33