Heim > Artikel > Web-Frontend > Häufig verwendete Wissenspunkte zu JavaScript
Grammatik
Aussageausdruck
Ein Satz ist eine Gruppe von Wörtern, die eine bestimmte Bedeutung vollständig ausdrückt und aus einem besteht oder mehr Es besteht aus Phrasen, die durch durch Satzzeichen oder Verbindungswörter verbunden sind.
Anweisungen entsprechen Sätzen, Ausdrücke entsprechen Phrasen und Operatoren entsprechen Satzzeichen und Konnektiven.
Ausdrücke in JavaScript können einen Ergebniswert zurückgeben.
var a = 3 * 6;
var b = a;
var a = 3 * 6; var b = a;
Deklarationsanweisung , weil es die Aussagea = 3 * 6; b = a;
Ausdrucksanweisung>Der Ergebniswert der Aussage
Die Nebenwirkungen des Ausdrucks
var a = 42;
var b = a++;a Value42 ( weist den Wert b zu),
und fügt dann den Wert von a 1; Der Nebeneffekt wird (ein Inkrement) auftreten, bevor der Ausdruck das Ergebnis und den Nebeneffekt zurückgibt von a++ wird danach auftreten. ++a++ generiert einen ReferenceError
Fehler var a = 42; var b = (a++); Das Symbol verkettet mehrere unabhängige Ausdrucksanweisungen in einer Anweisung: var a = 42,b; b = ( a++,a) a ; // 43
b; // 43 Der delete -Operator wird verwendet, um Attribute in Objekten und Elementen in Arrays zu löschen. var obj = {
🎜>
delete obj.a; // true obj.a;if(matches) {
return matches;
}
} }
vowels("Hello World" ); // ["e", "o", "o"]
Nutzen Sie die Nebenwirkungen von Zuweisungsanweisungen, um zwei if -Anweisungen zu einer zu kombinieren.
Function vomels (str){
var matches;
ulous in allen Element -Buchstaben if (str && (matches = str.match (/[aeiou]/g))) {
return Matches;} } votes("Hello World"); ,"o"]
Kontextregeln
1.Klammern
Objektkonstanten
// Angenommen, die Funktion
bar() wurde definiert 🎜> [] + {}; / / "Objekt]" {} + []; getData() {
b: "foo"
}
var { a , b } = getData();
console.log(a ,b); // 42 „foo“
kann auch als Objektdestrukturierung von Funktionsnamensparametern verwendet werden, um die implizite Zuweisung von Objekteigenschaften zu erleichtern.Funktion foo({a,b,c}){ // Nicht mehr notwendig:
// var a = obj.a, b = obj.b, c = obj.c
console.log(a,b,c)
}
foo({ > c: [1,2,3],
a: 42,
b: "foo"
}); foo" [ 1,2,3]
Operatorprioritätvar a = 42;
var b = " foo „;
Für&&
und ||, wenn das Ergebnis vom linken Operanden erhalten werden kann, der rechten Seite kann ignoriert werden Der Operand , wir nennen dieses Phänomen einen Kurzschluss.a && b || c ? c ||
Weil die Priorität des Operators && höher ist als die von ||, und || > hat eine höhere Priorität als? :. (a && b || c) ? (c || b) ? a : (c && b) : a
Die Zuordnung des-Operators erfolgt entweder von links nach rechts oder von rechts nach links, je nachdem, ob die Kombination von links
oder von rechts beginnt.
var a = foo() && bar();Zuerst foo() ausführen Folgen Sie der Ausführungsreihenfolge von links nach rechts
var a , b , c;a = b = c = 42; So wird es tatsächlich gehandhabt
a = ( b = ( c = 42)) var a = 42; var b = "foo";var c = false;
var d = a && b ||. c ? c || b ? ((c || b) ? a : (c && b)) : aJetzt führen wir
nacheinander aus one .(a && b)
Das Ergebnis ist"foo". 2."foo" ||. c
Das Ergebnis ist" foo".
3,Der erste? In ist „foo“
wahr.4.(c || b) Das Ergebnis ist
"foo".ulous us in in in in on 4 .(c || b) Das Ergebnis ist "foo".
5.Das zweite? , "foo"
ist wahrer Wert.6.a Der Wert von ist 42
Fehler, die während der Kompilierungsphase auftreten, werden als frühe Fehler bezeichnet Eine Art früher Fehler. Verwenden Sie try..catch, um
zu erfassen. 🎜>SyntaxError 🎜>
Variablen im Voraus verwendenTemporäre Totzone
TDZlassen Scope-Block
{a = 2; // ReferenceError
Let a;}
Funktionsparameter
Funktion foo(a = 42, b = a + 1){ >foo(); // 42 43
foo(undefiniert); // 42 43
foo(5); // 5 6
fo o( void 0, 7); // 42 7 foo(null) // null 1
versuchen.. endlich
Der Code in endlich
wird immer in versuchen sein, wird nach ausgeführt, wenn escatch
, es wird nach
catch
ausgeführt.
Sie können sich den Code in finally als Callback-Funktion vorstellen, die immer zuletzt ausgeführt wird.
Schalter
Sie können es sich als eine vereinfachte Version von if..else if.. else vorstellen.
Schalter (a) {
Fall 2:
// Einigen Code ausführen
zurück;
🎜>
//Code ausführen
}Gemischte Umgebung
JavaScriptErstellen Sie dynamisch
Skript und-Tags und fügen Sie sie dem
DOM der Seite hinzu.
var Greeting = "Hello World"; var el = document.createElement("script"); el.text = "function foo() { Alert(greeting); setTimeout(foo,1000)}"; document.body.appendChild(el);
Wenn Sie
el.src Wenn der Wert auf URL gesetzt ist, können Sie