Ошибка JavaScript (непойманные синтаксис ошибка: неожиданный конец ввода)

У меня есть код JavaScript, который работает в FireFox, но не в Chrome или IE.

в консоли Chrome JS я получаю следующую ошибку:

"Uncaught SyntaxError: неожиданный конец ввода".

код JavaScript, который я использую:

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

Он говорит, что ошибка в последней строке, которая является });

9 ответов


добавить второй });.

при правильном отступе ваш код читает

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

вы никогда не закрывали внешний $(function() {.


в моем случае я пытался разобрать пустой JSON:

JSON.parse(stringifiedJSON);

другими словами, произошло следующее:

JSON.parse("");

http://jsbeautifier.org/ полезно отступить ваш уменьшенный код JS.

С Google Chrome вы можете использовать "pretty print". См. пример скриншота ниже, показывающий jquery.min.js из переполнения стека красиво отступ прямо из моего браузера:)

enter image description here


форматирование кода немного, вы только закрыли внутреннюю функцию наведения. Вы не закрыли внешние части, отмеченные ниже....

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

в моем случае, это оказалась простые двойные кавычки в своем закладка помните, использовать только одинарные кавычки на букмарклеты. На случай, если это кому-то поможет.


Я получил эту ошибку, когда пытался написать букмарклет javascript. Я не мог понять, что вызвало это. Но в конце концов я попробовал URL-адрес, кодирующий букмарклет, через следующий веб-сайт:http://mrcoles.com/bookmarklet/ и затем ошибка исчезла, поэтому, должно быть, была проблема с определенными символами в коде javascript, интерпретируемыми как специальные символы управления URL.


эта ошибка в основном вызвана пустым возвращенным ajax вызовы, при попытке проанализировать пустой Json .

чтобы решить этот тест, если возвращаемые данные пуста

           $.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 файл, который предварительно визуализируется и ловит ошибку, вы узнаете, что именно было ошибкой, в моем случае это просто раскомментировал некоторый код, который я использовал.


в моем случае это было вызвано отсутствием (0) на javascript:void(0) в якорь.