Warum erhält diese Antwort immer noch positive Stimmen?
Per Mikaël Mayers Antwort , dann ist dies kein Problem mehr, und meine Antwort ist veraltet ( go()
jetzt zurückkehrt , 30
nachdem er mit der Konsole Ausmisten). Dies wurde im Juli 2013 festgelegt, nach dem Bericht Fehler in oben verlinkten gabrielmaldi Kommentar . Es alarmiert mich, dass ich immer noch Upvotes bekomme - lässt mich denken, dass der Upvoter weder die Frage noch meine Antwort versteht.
Ich werde meine ursprüngliche Antwort hier aus historischen Gründen verlassen, aber gehe upvote Mikaël Antwort statt .
Der Trick besteht darin, dass Sie eine lokale Variable nicht direkt ändern können, sondern die Eigenschaften eines Objekts ändern können. Sie können auch den Wert einer globalen Variablen ändern:
var g_n = 0;
function go()
{
var n = 0;
var o = { n: 0 };
return g_n + n + o.n;
}
Konsole:
> g_n = 10
10
> g_n
10
> n = 10
10
> n
0
> o.n = 10
10
> o.n
10
Überprüfen Sie das Ergebnis von, go()
nachdem Sie den Haltepunkt festgelegt und diese Aufrufe in der Konsole ausgeführt haben, und Sie werden feststellen, dass das Ergebnis 20 statt 0 ist (aber leider nicht 30).
modeline
kommt das?