| 

.NET C# Java Javascript Exception

3
Hi,

für die einen sicher eine simple Frage :) Aber gibt es die möglichkeit diesen Javascript (jQuery) Code noch kürzer zu schreiben?

width > currentWidth ? width : currentWidth


Ich meine es ist doch Blödsinn die Variablen dopppelt zu schreiben, nur kenne ich mich leider zu wenig mit dieser If/else Abkürzung aus.

Gruss
05.12.2012
redfish 115 1 5
3 Antworten
5
Wenn du das als If-Statement behalten willst (nennt sich übrigens ternärer Operator) fällt mir keine kürzere Schreibweise ein.

Ich nehme mal an, dass davor noch was steht (eine Variablenzuweisung zum Beispiel):
var x = ((width > currentWidth) ? width : currentWidth);
ich habe mal für die Übersichtlichkeit Klammern hinzugefügt.

Oder ausgeschrieben:
var x;
if(width > currentWidth)
x = width;
else
x = currentWidth;


Da es sich aber um 2 Zahlen handel, würde ich folgende Variante empfehlen:
var x = Math.max(width, currentWidth);


Mit jQuery hat das ganze aber weniger zu tun ;)

so far
Karill Endusa
05.12.2012
Karill Endusa 1,5k 1 9
1
Danke, Math.max finde ich ne tolle Alternative.

Mir ging es einfach darum soviele Zeichen wie möglich für die Dateigrösse des JS-Files zu sparen. :)

Gruss
05.12.2012
redfish 115 1 5
2
Dann reduzier die Variablennamen auf ein Zeichen, etwa so:

var x = w > c ? w : c;

Du könntest sogar noch Whitespace einsparen...
Ob das ein erstrebenswertes Ziel ist (gibts da nicht so Tools, um Javascript Files im Nachgang zu verkleinern???)?? Leserlich wirds durch Einsparen möglichst vieler Zeichen nicht gerade.
ffordermaier 05.12.2012
Doch, solche Tools gibt es...
machen das Debuggen zur Hölle - Lesbarkeit adé.
Wer sich gern selbst quält: Es gibt bessere Mittel!

Aber wozu Platz sparen?
Dank moderner Technik der Webserver werden die Dateien meist eh komprimiert... und ganz nebenbei gibts dann noch den Browser-Cache...
Karill Endusa 05.12.2012
1
Warum gibt es z. B. jQuery wohl in einer "Development" und in einer "minimierten" Version? Zur Entwicklung wird mit gut lesbarem Code gearbeitet und in der Produktivumgebung kommt dann die minimierte Version zum Einsatz.
Xantiva 06.12.2012
0
Gut, hab was vergessen... es ging mir auch noch um die bessere Lesbarkeit. Den vier Variablen auf einer Linie getrennt durch : und ? ist nicht gerade sehr angenehm zum lesen.

Ich denke die Math.max Variante ist echt ne tolle Alternative und werde diese verwenden.

Gruss
07.12.2012
redfish 115 1 5
2
Hi redfish,
wenn Du die Antwort akzeptierst, dann kannst Du das auch hier sichtbar machen (grüner Haken). Dann sieht man sofort, dass die Frage bereits beantwortet wurde. Ansonsten kannst Du zu Deiner Frage bzw. einer Antwort einen Kommentar abgeben. Dann bleibt immer die Reihenfolge erhalten. Antworten werden nach vergebenen Punkten sortiert ...
Xantiva 07.12.2012

Stelle deine Javascript-Frage jetzt!