0

次のエラーが表示されます。

Uncaught SyntaxError: Unexpected token ( /timeline/scripts/collections/events.js?bust=1365755363650:1

/timeline/scripts/collections/events.jsは次のとおりです。

function () {
    return Backbone.Collection.extend({
        model: Event

    ,   parse: function(data) {
            var parsed = [];
            $(data).find('Event').each(function(index) {
                parsed.push({
                    title: $(this).find('title').text()
                ,   date: $(this).find('date').text()
                ,   content: $(this).find('content').text()
                });
            });
            return parsed;
        }

    ,   fetch: function(options) {
            options = options || {};
            options.dataType = "xml";
            Backbone.Collection.prototype.fetch.call(this, options);
        }
    });
};

なんらかの理由で窒息してfunction () {いますが、その理由はわかりません。これが文書全体です。誰がこれの何が悪いのか説明できますか?

4

3 に答える 3

1

関数式ではなく、関数宣言があります。関数宣言には名前が必要です。

function foo () {
    return Backbone.Collection.extend({
于 2013-04-12T08:39:27.473 に答える
0

ある構文チェッカーで有用なエラー メッセージが表示されない場合は、別の構文チェッカーを試してください。

私は通常、Chrome 開発者ツールのファンですが、この場合、Chrome はあまり適切なエラー メッセージを表示しません。そこで、あなたのコードを Firefox に貼り付けてみまし

SyntaxError: function statement requires a name
    function () {

編集中にライブ構文チェックを行うKomodoにコードを貼り付けても、同じエラー メッセージが表示されました。(Komodo は Firefox をベースにしているため、メッセージは同じです。)

役に立たないツールがある場合は、さまざまなツールを試してみる価値があります。

于 2013-04-12T08:46:55.823 に答える
0

無名関数を呼び出さずに宣言することはできません。

于 2013-04-12T08:39:38.417 に答える