NEWS
[gelöst]Problem bei Übergabe per Script !Anfänger!
-
@torsten_mg sagte: Nein, kein Blockly!
Du hattest aber mit Blockly begonnen, wie man an den Zeilen 2 bis 4 sieht.
-
@torsten_mg sagte in Problem bei Übergabe per Script !Anfänger!:
Nein, kein Blockly!
Javascript. Bin aber noch im Anfängerstadium!das sieht man, aber ich habe auch mal so angefangen. Noch ein Tipp: Du musst den Wert nicht noch einmal holen, da er bereits im Trigger mit übergeben wird.
- schmeiss Zeile 3 und 4 weg
- Ändere Zeile 5 zu
var Lichtwert = String(obj.state.val);
Ändere bitte noch deinen Betreff im ersten Beitrag mit [Gelöst]....
-
-
@ahnungsbefreit sagte: Bin ich eigentlich der Einzige, immer mit "use strict" arbeitet und VAR vermeidet und lieber mit LET und CONST arbeitet?
Nein.
-
@paul53 Danke für die ausführliche Antwort
Was würdest Du als der Script-Guru hier im Forum denn empfehlen?
-
@ahnungsbefreit sagte in [gelöst]Problem bei Übergabe per Script !Anfänger!:
@fastfoot @paul53 ...wo Ihr gerade über JS Optimierung redet: Bin ich eigentlich der Einzige, immer mit "use strict" arbeitet und VAR vermeidet und lieber mit LET und CONST arbeitet?
'use strict' sehe ich hier ganz selten, habe auch noch nicht ganz verstanden wozu es gut ist und verwende es fast nie. schäm....
var meide ich gewöhnlich wie der Teufel das Weihwasser, allerdings habe ich mir mit JS angewöhnt meine Variablen auch oft mitten im Code zu deklarieren anstatt zu Beginn einer Funktion. Da streite ich mich immer noch mit mir selbst ob das gut oder böse ist
-
@fastfoot Naja es zwingt Dich, Variablen immer vor der Benutzung zu deklarieren und das hilft ungemein, um Tippfehler zu finden. Und bei const/let ist der Scope (Gültigkeitsbereich) auf den Block limitiert, in der sie deklariert werden und ist daher gerade für Variablen hilfreich, die Du nur in einem kleinen Teilbereich wie z.B. innerhalb einer Schleife oder eines if...else... Statements brauchst. Mit Var ist der Scope nicht beschränkt.
-
@fastfoot sagte: 'use strict' sehe ich hier ganz selten... und verwende es fast nie.
Geht mir ebenfalls so, wobei "use strict" hilft, Fehler nicht erst zur Laufzeit des Skripts zu erkennen.
Wenn möglich, verwende ich const. Für lokale Variablen verwende ich let, für globale Variablen var, wobei es an der Stelle eher eine Kommentarfunktion, als ein Unterschied zu let ist. -
@ahnungsbefreit sagte: Mit Var ist der Scope nicht beschränkt.
Das stimmt so nicht: Eine innerhalb einer Funktion mit var deklarierte Variable ist nur innerhalb der Funktion gültig.
Wichtiger Unterschied zu const / let: Die Deklaration mit var kann auch nach Verwendung der Variablen erfolgen, was man aber generell vermeiden sollte. -
@paul53 said in [gelöst]Problem bei Übergabe per Script !Anfänger!:
Eine innerhalb einer Funktion mit var deklarierte Variable ist nur innerhalb der Funktion gültig.
Ja, das schon. Aber Beschränkung der Gültigkeit auf untergeordnete Blöcke wie Schleifen oder sonst alles, was in {Klammern} steht, geht mit var überhaupt nicht.
Ok, um diese Off-Topic Diskussion nicht zu lange werden zu lassen: Danke für Eure Antworten, Ihr habt mich eigentlich in meiner Haltung bestätigt, weiterhin 'use strict' zu verwenden und 'var' zu vermeiden.