Nachdem ich "JavaScript: The Good Parts" von Douglas Crockford und "JavaScript Patterns" von Stoyan Stevanov gelesen habe, versuche ich genau herauszufinden, was 'excessive trickiness' bedeutet. Sie sagen beide, dass dies auftritt, wenn ++
oder --
im Code verwendet werden, aber ich kann keine klare Definition für diesen Begriff finden, weder innerhalb von SO noch über eine Google-Suche. Irgendwelche Ideen?
Antworten
Zu viele Anzeigen?Sie können es von Crockford selbst hier hören: http://www.youtube.com/watch?feature=player_detailpage&v=47Ceot8yqeI#t=4140s
Die einfache Antwort ist, dass ++
und --
auf eine Variable wirken und normalerweise gleichzeitig mit etwas anderem an dieser Variable durchgeführt werden. Können Sie schnell entscheiden, was das hier macht?
y += x++ + ++y; // Was ist y jetzt?
Weitere StackOverflow-Diskussion: Warum sollte man Inkrement ("++") und Dekrement ("--") Operatoren in JavaScript vermeiden?
Es geht um die kleinen Tricks, die eingebaut sind. Zum Beispiel ist avar++
ein Alias für avar = avar + 1
.
JavaScript ist gefüllt mit Operatoren und anderen Dingen, die das Programmieren leichter machen, aber es sind nur Tricks. Das meint er wahrscheinlich.
Außerdem, wie Jonathan angemerkt hat: Warum sollte man Inkrement ("++") und Dekrement ("--") Operatoren in JavaScript vermeiden?
Hier ist eine ziemlich ausführliche Diskussion mit Links:
Warum sollte man Inkrement ("++") und Dekrement ("--")-Operatoren in JavaScript vermeiden?
Ich denke, ein Teil der Idee ist, dass sie, wenn man diese Operatoren anwendet, außer bei einer einzelnen Variablen in einer einzelnen Zeile, für jeden außerhalb des Entwicklerkopfes verwirrend werden.