Zusammenfassung der Interviewfragen zur JavaScript-Entwicklung
Dieser Artikel enthält eine Zusammenfassung der Fragen zu JavaScript-Entwicklungsinterviews. Ich hoffe, er kann Freunden in Not helfen.
1. Deklaration und Definition
Variablentyp: var, definiert Variablen let, definiert lokale Variablen der Blockdomäne (Scope), definiert schreibgeschützte Konstanten.
Variables Format: 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. Geltungsbereichvar x, y = 1; console.log(x + y); //结果为NaN,因为x没有赋值。
Variablenbereich: Vor ES6 gab es keinen Blockdeklarationsbereich, und Variablen agierten in Funktionsblöcken oder global. Wie im folgenden Code gezeigt, ist das eingegebene x 5.
ES6-Variablenbereich: ES6 unterstützt den Blockbereich, aber Sie müssen 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
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 Variablendeklarationen automatisch an den Anfang von Funktionen oder Globals setzt. Zum Beispiel der folgende Code:
f (true) {let y = 5; } console.log(y); // ReferenceError: y is not defined1234
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"; })();
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); // undefinedmyvar = "local value"; })();
version = "1.0.0"; console.log(window.version); //输出1.0.0
1.数据类型
6个基础类型:Boolean(true或者false)、null(js大小写敏感,和Null、NULL是有区别的)、undefined、Number、String、Symbol(标记唯一和不可变)
一个对象类型:object。
object和function:对象作为值的容器,函数作为应用程序的过程。
2.数据转换
函数:字符串转换为数字可使用parseInt和parseFloat方法。
parseInt:函数签名为parseInt(string, radix),radix是2-36的数字表示数字基数,例如十进制或者十六进制。返回结果为integer或者NaN,例如下面输出结果都为15。
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);
parseFloat:函数签名为parseFloat(string),返回结果为数字或者NaN。例如:
parseFloat("3.14"); //返回数字 parseFloat("314e-2"); //返回数字 parseFloat("more non-digit characters"); //返回NaN
3.数据类型文本化
文本化类型:Array、Boolean、Floating-point 、integers、Object、RegExp、String。
Array中额外的逗号情况:["Lion", , "Angel"],长度为3,[1]的值为undefiend。['home', , 'school', ],最后一个逗号省略所以长度为3。[ , 'home', , 'school'],长度为4。['home', , 'school', , ],长度为4。
integer整数:整数可以表达为十进制、八进制、十六进制、二进制。例如:
0, 117 and -345 //十进制 015, 0001 and -0o77 //八进制 0x1123, 0x00111 and -0xF1A7 //十六进制 0b11, 0b0011 and -0b11 1234 //二进制
浮点数:[(+|-)][digits][.digits][(E|e)[(+|-)]digits]。例如:
3.1415926,-.123456789,-3.1E+12(3100000000000),.1e-23(1e-24)
对象:对象的属性获取值可通过“.属性”或者“[属性名]”获取。例如:
var car = { manyCars: {a: "Saab", "b": "Jeep"}, 7: "Mazda" }; console.log(car.manyCars.b); // Jeep console.log(car[7]); // Mazda
对象属性:属性名可以是任意字符串或者空字符串,无效的名字可通过引号包含起来。复杂的名字不能通过.获取,但可以通过[]获取。例如:
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!
转意字符:下面的字符串输出结果包含了双引号,因为使用了转意符号“\””。
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。
字符串换行法:直接在字符串行结束时添加“\”,如下代码所示:
var str = "this string \ is broken \ across multiple\ lines." console.log(str); // this string is broken across multiplelines.
No3.控制流和错误处理
1.块表达式
作用:块表达式一般用于控制流,像if、for、while。下面的代码中{x++;}就是一个块声明。
while (x < 10) {x++; }
ES6之前没有块域范围:在ES6之前,在block中定义的变量实际是包含在方法或者全局中,变量的影响超出了块作用域的范围。例如下面的代码最终执行结果为2,因为block中声明的变量作用于方法。
var x = 1; {var x = 2; } console.log(x); // outputs 2
ES6之后有块域范围:在ES6中,我们可以把块域声明var改成let,让变量只作用域block范围。
var b = new Boolean(false); if (b) // 返回true if (b == true) // 返回false
No4.异常处理
1.异常类型
抛出异常语法:抛异常可以是任意类型。如下所示。
throw "Error2"; // 字符串类型 throw 42; // 数字类型 throw true; // 布尔类型 throw {toString: function() { return "I'm an object!"; } }; //对象类型
自定义异常:
// 创建一个对象类型UserException function UserException(message) { this.message = message; this.name = "UserException"; } //重写toString方法,在抛出异常时能直接获取有用信息 UserException.prototype.toString = function() { return this.name + ': "' + this.message + '"'; } // 创建一个对象实体并抛出它 throw new UserException("Value too high");
2.语法
关键字:使用try{}catch(e){}finally{}语法,和C#语法相似。
finally返回值:如果finaly添加了return 语句,则不管整个try.catch返回什么,返回值都是finally的return。如下所示:
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
finally吞并异常:如果finally有return并且catch中有throw异常。throw的异常不会被捕获,因为已经被finally的return覆盖了。如下代码所示:
function f() { try { throw "bogus"; } catch(e) { console.log('caught inner "bogus"'); throw e; // throw语句被暂停,直到finally执行完成 } finally { return false; // 覆盖try.catch中的throw语句 } // 已经执行了"return false"}try { f(); } catch(e) { //这里不会被执行,因为catch中的throw已经被finally中的return语句覆盖了 console.log('caught outer "bogus"'); }// 输出// caught inner "bogus"
系统Error对象:我们可以直接使用Error{name, message}对象,例如:throw (new Error(‘The message’));
Das obige ist der detaillierte Inhalt vonZusammenfassung der Interviewfragen zur JavaScript-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

Das Go-Framework besteht aus einer Reihe von Komponenten, die die integrierten Bibliotheken von Go erweitern und vorgefertigte Funktionen bereitstellen (z. B. Webentwicklung und Datenbankoperationen). Zu den beliebten Go-Frameworks gehören Gin (Webentwicklung), GORM (Datenbankoperationen) und RESTful (API-Verwaltung). Middleware ist ein Interceptor-Muster in der HTTP-Anforderungsverarbeitungskette und wird verwendet, um Funktionen wie Authentifizierung oder Anforderungsprotokollierung hinzuzufügen, ohne den Handler zu ändern. Die Sitzungsverwaltung verwaltet den Sitzungsstatus durch die Speicherung von Benutzerdaten. Sie können gorilla/sessions zum Verwalten von Sitzungen verwenden.
