Heim  >  Artikel  >  Web-Frontend  >  Häufig verwendete Wissenspunkte zu JavaScript

Häufig verwendete Wissenspunkte zu JavaScript

巴扎黑
巴扎黑Original
2017-07-22 15:33:11919Durchsuche

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 Aussage

        a = 3 * 6;   b = a;  

Ausdrucksanweisung

 >Der Ergebniswert der Aussage

Die Nebenwirkungen des Ausdrucks

var a = 42;

var b = a++;

a Value

42 (

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ät

var 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)) : a

     

Jetzt 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

TDZ

lassen 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 es

catch

, 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

JavaScript

Erstellen 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