Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung der bei der Interviewentwicklung häufig verwendeten JavaScript-Wissenspunkte

黄舟
Freigeben: 2017-02-23 13:17:50
Original
1143 Leute haben es durchsucht


Nr. 1. Syntax und Typ

1. Variablentyp: var, Variable definieren let; Definieren Sie lokale Variablen des Blockbereichs (Scope); definieren Sie schreibgeschützte Konstanten.

Variablenformat: beginnt mit einem Buchstaben, Unterstrich „_“ oder $-Symbol, Groß-/Kleinschreibung beachten.

Variablenzuweisung: Eine Variable, die deklariert, aber nicht zugewiesen ist, hat bei Verwendung den Wert undefiniert. Wenn eine nicht deklarierte Variable direkt verwendet wird, wird eine Ausnahme ausgelöst.

Nicht zugewiesene Variable zur Berechnung: Das Ergebnis ist NaN. Zum Beispiel:

 

2. Geltungsbereich
var x, y = 1;
console.log(x + y); //结果为NaN,因为x没有赋值。
Nach dem Login kopieren

  Variablenumfang: Vor ES6 gab es keinen Blockdeklarationsumfang und Variablen agierten in Funktionsblöcken oder global. Wie im folgenden Code gezeigt, ist die Eingabe x 5.

ES6-Variablenbereich: ES6 unterstützt den Blockbereich, Sie müssen jedoch let verwenden, um Variablen zu deklarieren. Die folgende Codeausgabe führt dazu, dass eine Ausnahme ausgelöst wird.

if (true) {
var x = 5;
}
console.log(x); // 5
Nach dem Login kopieren

Variable Floating: Wenn wir in einer Methode oder einem globalen Code die Variable verwenden, bevor die Variable deklariert wird, wird keine Ausnahme ausgelöst, sondern undefiniert zurückgegeben. Dies liegt daran, dass JavaScript die Variablendeklaration automatisch an den Anfang der Funktion oder global platziert. Zum Beispiel der folgende Code:

f (true) {
let y = 5;
}
console.log(y); // ReferenceError: y is not defined1234
Nach dem Login kopieren

Der obige Code entspricht dem folgenden Code:

/**
* 全局变量上浮
*/
console.log(x === undefined); // logs "true"
var x = 3;

/**
* 方法变量上浮
*/
var myvar = "my value";
// 打印变量myvar结果为:undefined
(function() {
console.log(myvar); // undefined
var myvar = "local value";
})();
Nach dem Login kopieren

Globale Variablen: Auf der Seite ist das globale Objekt Fenster, also wir Zugriff auf globale Variablen. Verfügbar über window.variable. Zum Beispiel:

/**
* 全局变量上浮
*/
var x;
console.log(x === undefined); // logs "true"
x = 3;

/**
* 方法变量上浮
*/
var myvar = "my value";
(function() {
var myvar;
console.log(myvar); // undefined
myvar = "local value";
})();
Nach dem Login kopieren

Nr. 2. Datenstruktur und -typ

version = "1.0.0";
console.log(window.version); //输出1.0.0
Nach dem Login kopieren

1 Datentyp

6 Grundtypen: Boolesch (wahr oder falsch) , null (bei js wird zwischen Groß- und Kleinschreibung unterschieden, anders als Null und NULL), undefiniert, Zahl, Zeichenfolge, Symbol (als eindeutig und unveränderlich markiert)

Ein Objekttyp: Objekt.

Objekt und Funktion: Objekte dienen als Wertebehälter und Funktionen als Anwendungsverfahren.

 

2. Datenkonvertierung

  Funktion: Mit den Methoden parseInt und parseFloat können Zeichenfolgen in Zahlen umgewandelt werden.

parseInt: Die Funktionssignatur ist parseInt(string, radix), radix ist eine Zahl von 2 bis 36, die die digitale Basis darstellt, z. B. dezimal oder hexadezimal. Das Rückgabeergebnis ist eine Ganzzahl oder NaN. Die folgenden Ausgabeergebnisse sind beispielsweise alle 15.

parseFloat: Die Funktionssignatur ist parseFloat(string) und das Rückgabeergebnis ist eine Zahl oder NaN. Zum Beispiel:

parseInt("0xF", 16);
parseInt("F", 16);
parseInt("17", 8);
parseInt(021, 8);
parseInt("015", 10);
parseInt(15.99, 10);
arseInt("15,123", 10);
parseInt("FXX123", 16);
parseInt("1111", 2);
parseInt("15*3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);
Nach dem Login kopieren

3. Datentyp-Textualisierung
parseFloat("3.14"); //返回数字
parseFloat("314e-2"); //返回数字
parseFloat("more non-digit characters"); //返回NaN
Nach dem Login kopieren

Textualisierungstyp: Array, Boolean, Gleitkomma, Ganzzahlen, Objekt, RegExp, String.

Zusätzliche Kommas im Array: ["Lion", , "Angel"], die Länge beträgt 3 und der Wert von [1] ist unbestimmt. ['home', , 'school', ], das letzte Komma wird weggelassen, daher beträgt die Länge 3. [ , 'home', , 'school'], Länge ist 4. ['home', , 'school', , ], Länge ist 4.

Ganzzahl: Ganzzahl kann als Dezimalzahl, Oktalzahl, Hexadezimalzahl oder Binärzahl ausgedrückt werden. Zum Beispiel:

Gleitkommazahl: [(+|-)][Ziffern][.Ziffern][(E|e)[(+|-)]Ziffern]. Beispiel:

0, 117 and -345 //十进制
015, 0001 and -0o77 //八进制
0x1123, 0x00111 and -0xF1A7 //十六进制
0b11, 0b0011 and -0b11 1234 //二进制
Nach dem Login kopieren

Objekt: Der Attributwert des Objekts kann über „.property“ oder „[Eigenschaftsname]“ abgerufen werden. Beispiel:

3.1415926,-.123456789,-3.1E+12(3100000000000),.1e-23(1e-24)
Nach dem Login kopieren

Objektattribute: Der Attributname kann eine beliebige Zeichenfolge oder eine leere Zeichenfolge sein. Ungültige Namen können in Anführungszeichen eingeschlossen werden. Komplexe Namen können nicht über . abgerufen werden, wohl aber über []. Zum Beispiel:

var car = { manyCars: {a: "Saab", "b": "Jeep"}, 7: "Mazda" };
console.log(car.manyCars.b); // Jeep
console.log(car[7]); // Mazda
Nach dem Login kopieren

Escape-Zeichen: Die folgende String-Ausgabe enthält doppelte Anführungszeichen, da das Escape-Symbol „““ verwendet wird.

var unusualPropertyNames = {
"": "An empty string",
"!": "Bang!"
}
console.log(unusualPropertyNames.""); // SyntaxError: Unexpected string
console.log(unusualPropertyNames[""]); // An empty string
console.log(unusualPropertyNames.!); // SyntaxError: Unexpected token !
console.log(unusualPropertyNames["!"]); // Bang!
Nach dem Login kopieren

String-Wrapping-Methode: Fügen Sie „“ direkt an hinzu das Ende der Zeichenfolge, wie im folgenden Code gezeigt:

var quote = "He read \"The Cremation of Sam McGee\" by R.W. Service.";
console.log(quote);
//输出:He read "The Cremation of Sam McGee" by R.W. Service.1。
Nach dem Login kopieren

Nr3. Kontrollfluss und Fehlerbehandlung

var str = "this string \
is broken \
across multiple\
lines."
console.log(str); // this string is broken across multiplelines.
Nach dem Login kopieren
 

1 🎜> Funktion: Blockausdrücke werden im Allgemeinen für den Kontrollfluss verwendet, z. B. if, for, while. Im folgenden Code ist {x++;} ein Blockfeld. Vor ES6 wurden Variablen definiert im Block waren tatsächlich in der Methode enthalten oder global, und der Einfluss der Variablen überstieg den Umfang des Blocks. Das endgültige Ausführungsergebnis des folgenden Codes ist beispielsweise 2, da die im Block deklarierten Variablen darauf wirken. Methode.

Nach ES6 gibt es einen Blockbereich: In ES6 können wir die Blockbereichsdeklaration var ändern, sodass die Variable nur den Bereich des Blockbereichs abdeckt. 2. Logische Beurteilung 🎜> Als falsch beurteilte Sonderwerte: false, undefiniert, null, 0, NaN, ""

Einfache boolesche und Objekt-boolesche Typen: einfacher boolescher Typ. Es gibt einen Unterschied zwischen false und true vom booleschen Objekttyp. Sie sind nicht gleich, wie im folgenden Beispiel:

while (x < 10) {
x++;
}
Nach dem Login kopieren

Nr. 4. Ausnahmebehandlung

var x = 1;
{
var x = 2;
}
console.log(x); // outputs 2
Nach dem Login kopieren

1 .Ausnahmetyp

Auslöser-Ausnahmesyntax: Auslöser-Ausnahme kann beliebiger Art sein, wie unten gezeigt:

Schlüsselwort: Verwendung try{}catch(e){}finally{}-Syntax, ähnlich der C#-Syntax

„finally“-Rückgabewert: „if finaly“: Nach dem Hinzufügen der return-Anweisung wird unabhängig davon, was der gesamte try.catch zurückgibt, der Rückgabewert ist die endgültige Rückkehr, wie unten gezeigt:

function f() {
    try {
        console.log(0);
        throw "bogus";
    } catch(e) {
        console.log(1);
        return true; // 返回语句被暂停,直到finally执行完成
        console.log(2); // 不会执行的代码
    } finally {
        console.log(3);
        return false; //覆盖try.catch的返回
        console.log(4); //不会执行的代码
    }
    // "return false" is executed now 
    console.log(5); // not reachable
}
f(); // 输出 0, 1, 3; 返回 false
Nach dem Login kopieren

  finally吞并异常:如果finally有return并且catch中有throw异常。throw的异常不会被捕获,因为已经被finally的return覆盖了。如下代码所示:

function f() {
    try {
        throw "bogus";
    } catch(e) {
        console.log(&#39;caught inner "bogus"&#39;);
        throw e; // throw语句被暂停,直到finally执行完成
    } finally {
        return false; // 覆盖try.catch中的throw语句
    }
    // 已经执行了"return false"
}

try {
    f();
} catch(e) {
    //这里不会被执行,因为catch中的throw已经被finally中的return语句覆盖了
    console.log(&#39;caught outer "bogus"&#39;);
}
// 输出
// caught inner "bogus"
Nach dem Login kopieren

  系统Error对象:我们可以直接使用Error{name, message}对象,例如:throw (new Error('The message'));

 以上就是面试开发常用的 JavaScript 知识点总结的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!