Ich habe die folgende Funktion in JavaScript und beim Ausführen durch JSLint, schrie es mich an, wie ich es nenne.Was ist das Standardformat für Zuweisungsausdrücke?
function getPos(event, element) {
var x = event.clientX,
y = event.clientY,
currentElement = element;
do {
x -= currentElement.offsetLeft - currentElement.scrollLeft;
y -= currentElement.offsetTop - currentElement.scrollTop;
} while ((currentElement = currentElement.offsetParent));
return {
x: x,
y: y
};
}
Speziell über die Inline-Zuweisung Ausdruck in der While-Schleife. Ich dachte mir, dass die doppelten Klammern die übliche Art zu sagen waren: "Ich erwarte, dass der zurückgegebene Wert aus dem Zuweisungsausdruck für die Bedingung in eine geschrieben wird." JSLint scheint nicht zu stimmen, auch wenn ich "Zuweisungsausdrücke" aktiviere. Dann habe ich versucht, eine !!
in Front hinzuzufügen, und JSLint beschwert sich, dass es "verwirrende Nutzung" ist. Also meine Frage ist, was ist der richtige Weg, dies zu formatieren?
EDIT: Mit "dies" meinte ich speziell die Inline-Zuweisung Ausdruck. Die Absicht meiner Frage war zu klären, was ein akzeptabler Standard für diese bestimmte Linie war, wenn man das wirklich benutzen wollte, und obwohl ich stimme, dass die Antwort des Auges die korrekteste Art ist, die Funktion zu schreiben, ist es nicht die Antwort darauf Die Frage, die ich gestellt habe.
Es gab eine Version von Opera vor einiger Zeit, die die doppelte Klammer bei der Zuweisung als Bedingung benötigte, andernfalls würde sie die Zuweisung zu '==' "korrigieren". – RobG
@RobG Eheh, ich wette, Entwickler liebten Debuggen _that_ one ~ –