2016-09-28 6 views
0

Ich habe diesen Code verwendet.Variable nicht definiert Google Console

Aber in Google Console bekomme ich diesen Fehler: Uncaught Reference:

this.createSavedStickers = function(stickersJSON) { 
    try { 
    stickers = JSON.parse(stickersJSON); 
    } catch (e) { 
    for (var i in stickers) { 
     sticker_properties = JSON.parse(stickers[i].properties); 
     var from_left = this.calcLeft(sticker_properties.from_center); 
     sticker = jQuery('<div/>', { 
     id: stickers[i].sticker_id, 
     class: 'wpst-sticker-note sticked saved', 
     "data-from-center": sticker_properties.from_center, 
     css: { 
      "top": sticker_properties.top + "px", 
      "left": from_left + "px", 
      "position": "absolute" 
     } 
     }).appendTo('body'); 
     sticker.html(this.stickerHTML).find(".textarea").html(stickers[i].note); 
     sticker.find(".resize").css({ 
     width: sticker_properties.width + "px", 
     height: sticker_properties.height + "px" 
     }); 
     this.bindEvents(sticker); 
     this.allStickers.push(sticker); 
    } 
    console.log(e); 

    } 
} 
Hilfe

Dank

+4

Warum ist der Code mit Aufklebern im Catch-Block? –

+2

Warum versuchen Sie 'Sticker' im' catch' Block zu verwenden. Wenn die eine Zeile im 'try' fehlschlägt, ist' stickers' tatsächlich nicht definiert. – Rhumborl

Antwort

0

Sie haben vergessen var zu verwenden das erklären: Aufkleber nicht

Der Code ist definiert Variable:

var stickers = JSON.parse(stickersJSON); 
+1

Sie müssen 'var' nicht verwenden, um eine Variable zu deklarieren. Ohne 'var' wird es immer noch als global deklariert, das ist also nicht das Problem. –

+1

Obwohl es wahr ist, dass das OP 'var stickers' verwenden sollte, um die Verschmutzung des globalen Namensraums zu vermeiden, würde dies das Problem nicht lösen, es würde nur die Fehlermeldung entfernen. Aber das Hauptproblem ist, dass das OP versucht, über die Eigenschaften von 'Aufklebern 'im Catch-Block zu iterieren, in diesem Block würde' Sticker 'niemals gesetzt werden. –

+0

Danke! Jetzt bekomme ich diesen Fehler: VM2445: 1 Uncaught SyntaxError: Unerwartetes Token G in JSON an Position 1542. Wie sehe ich wo ist der Fehler? – emiliano

0

Sie verwenden die c Atch Block völlig entgegengesetzt, wie es verwendet werden soll.

try ist, wo Sie Sachen, die eine Ausnahme auslösen könnten, setzen. Aber du hoffst es nicht.

catch ist, wo man Sachen setzen Sie ausführen wollen, wenn eine Ausnahme in der try Block geworfen wird.

Sie verwenden catch wie Code, den Sie ausführen möchten, wenn nichts schief geht.