Uncaught SyntaxError: Unexpected end of input line 1

Uncaught SyntaxError: Unexpected end of input line 1

您好,我正在尝试找出问题所在。我收到错误

Uncaught SyntaxError: Unexpected end of input in line 1

这是

 var itemList = new Array();

包含一段代码

var itemList = new Array();

$( document ).ready(function(){
var $newItem = $('#newItem');
var $itemList =$('#itemList');
var itemTouchStart;
var itemTouchEnd;
var itemTouchStartX;
var itemTouchEndX;

if( window.localStorage) //when application starts check if there is data
{
    itemList = JSON.parse(window.localStorage.getItem('itemList'));
}

if(null !== itemList)
{
    for (i=0;i<itemList.length; i++)
    {
        var itemNew = '<li data-key="'+ itemList[i].key +'"><span>' 
+itemList[i].item +'</span></li>';
        $itemList.append(itemNew);
    }

}
else
{
    itemList = new Array();
}

错误的行号不对。问题出在 end,您永远不会关闭传递给 ready 的函数或对它的调用。在末尾添加});

如果那只是因为你引用了一个

...snippet of the beginning of the code...

...那么答案是第 1 行没有任何问题,这从您的问题中显而易见。像这样的奇怪错误有时可能归因于源代码中的不可见字符,但我希望看到的是非法字符错误,而不是意外的输入结束。输入的意外结束几乎就是它所说的:当解析器到达代码文本的末尾时,您打开了某种控制结构并且没有关闭它。


我发现 Meteor JavaScript parser page 对于诊断语法错误非常方便。