Einführung in die erweiterte JavaScript-Programmierung
Vorwort:
Ich habe ungefähr eine Woche gebraucht, um die Hälfte dieses Buches sorgfältig zu lesen, siehe unten Ich hoffe, dass die Lesenotizen, die ich gemacht habe, den Leuten, die dieses Buch lesen, eine grobe Referenz geben können. Im Moment ist es möglicherweise etwas chaotisch und nicht vollständig. Ich werde es klären und später hinzufügen. (2017-7-17)
Kapitel 1 JavaScriptEinführung
Kapitel 2HTMLverwendet in HTMLJavaScript
Kapitel 3 Grundkonzepte
3.1.Grammatik
Groß-/Kleinschreibung beachten
Identifikator(Es wird empfohlen, Camel Case zu verwendenmyCar)
Kommentar // /**/
Streng Modus (verwenden Sie streng)
Anweisung empfiehlt var diff-a-b; die Verwendung von Semikolon und if( test ) { Alert (Test); }Verwenden Sie auch {}
3.2 Schlüsselwörter und reservierte Wörter
3.3 Variable
Nicht initialisiertundefiniert var message = „hi“; Der Typ kann nach Belieben geändert werden
Function test(){ Var a = “hi”; 局部 b = “hi”; 全局 }
Test(); Fehler hi
Datentyp
typeofUndefiniert (definiert, aber nicht zugewiesen)
Null(Null-Objektzeiger)
Boolean(Boolescher Werttrue false Die Flusskontrollanweisung führt automatisch das entsprechende aus boolean Konvertieren)
Zahl(Oktal0 Dezimal zehn Hexadezimal0x Gleitkomma-WertebereichNaN Numerische KonvertierungNumber parseInt )
String(String, kein Unterschied zwischen einfachen und doppelten Anführungszeichen, Escape-Sequenz, String-Eigenschaften, toString String)
Object(Object Die Basis von Alle Objekte var o = new Object();)
Funktion in ES ist ein Objekt, kein Datentyp.
3.5Operator
Unärer Operator++ -- , + -( kann zum Konvertieren von Datentypen verwendet werden )
Bitoperatoren Bitweises NICHT~num1 Bitweises UND& Bitweises ODER| Bitweises XOR^ Linksverschiebung<< RechtsverschiebungRechtsverschiebung ohne Vorzeichen >>
Boolescher Operator
! && ||. Multiplikativer Operator* / % Additivoperator+ - Relationaloperator < 🎜>Bedingter Operator? :
Zuweisungsoperator
= *= /= %= += -= <<= >>= >> ;=Kommaoperator
3.6Anweisung
3.7Funktion
Argumente Keine Überladung
Kapitel 4
Variablen, Umfang und Speicherprobleme
4.1Werte von Basistypen und Referenztypen
Dynamische Attribute (Referenztypen können dynamisch Attribute hinzufügen)
Variablenwerte kopieren
(Die Grundtypen sind unterschiedlich Space, der Referenztyp bezieht sich auf den gleichen Raum )Übergabeparameter
(das Gleiche)
Erkennungstyp (Typ der Instanz von)
4.2Ausführungsumgebung und -umfang
Umfangskette Bereichskette erweitern(try-catch with) Kein Bereich auf Blockebene(wenn für Variable Abfrage-ID deklarieren )
4.3Garbage Collection
Strategie(Mark Clear Reference Count ) Leistungsprobleme beim Verwalten des Speichers
Kapitel 5 Referenztypen
5.1 ObjektTyp
Var person = {};(eignet sich zur Übergabe einer großen Anzahl von Parametern an Funktionen) var parson = new Object();
Person[„name“](Wenn Sie Variablen zur Darstellung von Attributen verwenden, verwenden Sie ) person.name(Empfohlen)
5.2 Array Typ
Var farben = new Array(); var farben =[*****];
Colors[*] = *****; Colors.length
Array erkennen: Instanz von Array.isArray()
Konvertierungsmethode: toString() valueOf() toLocaleString() join()
Stack-Methode: push() pop()
Warteschlangenmethode: shift() unshift()
Neuordnungsmethode: reverse() sort(Sie können den Vergleichsfunktionsparameter hinzufügen )
Operationsmethode: concat()Die ursprüngliche Änderung wird hinzugefügt slice()Die ursprüngliche Änderung ist das abgefangene Segment
Positionsmethode:indexOf() lastIndexOf()
Gibt die Position des Elements zurückIteration Methode:
every() filter() forEach() map() some()
Jedes Element wird verarbeitet, aber das ursprüngliche Array ändert sich nichtZusammenführungsmethode:
reduce()
ReihenfolgereduceRight()Umgekehrte Reihenfolge für beide Elemente 5.3 Datum
TypNeues Datum()
insideparse(
"May 25, 2004") UTC(2005,0) Date.now()
Geerbte Methode:toLocaleString( ) toString() valueOf()
Datumsformatierungsmethode:
toDateString() toTimeString() toLocaleDateString() toLocaleTimeString() toUTCString()
Datum
/
Zeitkomponentenmethode: zu viele spezifische Messwerte5.4RegExp
Typ
Literal
var pattern1 = / [bc]at / i;
Konstruktor
var pattern2 = new RegExp(“ [bc]at ”, ” i ”);
RegExp
InstanzattributglobalignoreCase lastIndex multiline sourceEs ist nutzlos RegExpInstanzmethode: exec() Gruppe erfassen(Mehrere Übereinstimmungssätze erfassen) text() Überprüfen Sie, ob es gleichzeitig übereinstimmt Einschränkungen des Modus: Fehlen erweiterter Funktionen für reguläre Ausdrücke, die von einigen Sprachen unterstützt werden (Perl) 5.5 Funktion Typ Funktion ist ein Objekt Function Instanzen von ), der Funktionsname ist ein Zeiger. function sum(num1,num2) { } Var sum = function(num1,num2){ }; Es gibt keine Überladung: Die Funktion ist ein Objekt und der Funktionsname ist ein Zeiger. Funktion ******* wird nicht fördern Funktionsinterne Eigenschaften: Argumente AttributAufgerufenerzeigt auf Funktion) diesesObjekt(Zeigen Sie auf das Umgebungsobjekt , in dem die Funktion ausgeführt wird) AttributAufrufer (zeigt auf die Funktion, die die aktuelle Funktion aufruft, wenn es sich um eine Funktion mit globalem Gültigkeitsbereich handelt Wert ist null) Funktionsattribute und -methoden: ( Länge Geerbt) Nicht vererbte Methode : call( ) apply() bind() a.apply( b, c ); b a übrigens c( Argument oder Array ) / d( jedes Element schreiben out ) Var a = b.bind(c); a 5.6Grundlegender Wrapper-Typ: Boolean var booleanObject = new Boolean(true); -Objekte zu verwenden. Nummer Es wird außerdem empfohlen, den Typ Number nicht direkt zu instanziieren. String Typ: „hello world“); length 1.Zeichenmethode: charAt() oder string[] gibt das entsprechende Zeichen zurück charCodeAt() Gibt die entsprechende Zeichenkodierung zurück 2. String-Operationsmethode: concat() oder +-Operator sieht genauso aus wie der concat() Slice() substring() substr() 3. indexOf( ) lastIndexOf() 4.trim() trimLeft() trimRight() 5. String-Case-Konvertierungsmethode toLowerCase() toUpperCase() toLocaleLowerCase() toLocaleUpperCase() 6. String-Muster-Abgleichsmethode match() exec() von RegExp, das das mit der Zeichenfolge übereinstimmende Array zurückgibt search() -1 zurückgegeben replase() split() 7.localeCompare() 8.fromCharCode() 9. HTML big() string 5.7 1.Global URL encodeURI() encodeURIComponent() einige A-Absatzkodierung decodeURI() decodeURIComponent() eine bestimmte Absatzdekodierung eval() ECMAScriptParser Global undefiniert, Array......sind alle Eigenschaften Web Fenster-Objekts Objekt Objekteigenschaften Einige spezielle Werte wie π Methode Rundungsmethode: Dezimalwert in Ganzzahl umwandeln Math.ceil(25) Eins vorwärts Math.floor(25) Eins zurück Math.round(25) Rundung random() Methode [0,1) Zufallszahl zwischen Andere Methoden Zu viel lesen 6.1Objekte verstehen 6.1.1Attributtyp: Datenattribut: 4Attribute Accessor-Eigenschaft: enthält keinen Datenwert 4 Eigenschaften, die über Object.defineProperty() Definieren Sie mehrere Eigenschaften: Object.defineProperties() kann ein Datenattribut oder ein Accessor-Attribut sein. Merkmale zum Lesen von Eigenschaften: Object.getOwnPropertyDescriptor() Objekte erstellen Werksmuster( Lesen ) Konstruktormuster(Lesen neuer Konstruktor) Prototypmuster: Prototyp und inBetreiber( in for-in ) Einfachere Prototypensyntax(Objektliteral für den Zugriff auf Objekte) Dynamisch Art des Prototyps( Der Prototyp kann durch ein anderes Objekt ersetzt werden, ist jedoch für die bereits erstellte Instanz ungültig) Prototyp eines nativen Objekts( dient zur Verwendung des Prototypmodus. Sie können darin neue Methoden definieren, dies wird jedoch nicht empfohlen) Verwendung von Konstruktormuster und Prototypmuster in Kombination Dynamischer Prototypmodus Parasit-Konstruktormuster Der einzige Unterschied zwischen dem Fabrikmuster und dem Fabrikmuster ist einsneu, und es hat mehrere Rückkehr. Das zurückgegebene Objekt hat nichts mit dem Konstruktor zu tun, daher kann der Operator instanceof nicht zur Bestimmung des Objekttyps verwendet werden. Nicht empfohlen. 6.2.7Sicheres Konstruktormuster ähnelt dem parasitären Konstruktormuster, jedoch ohne die Verwendung von diesem und neu. instanceof kann auch nicht erkannt werden 6.3Inherited 6.3.1Prototyp-Kette Prototyp-Suchmechanismus 1.Vergessen Sie nicht den Standard-Prototyp: den Standard für Alle Funktionen Prototypen sind alle Instanzen von Object. 2.Bestimmen Sie die Beziehung zwischen Prototyp und Instanz: instanceof isPrototypeOf() 3 Methoden definieren: Neue Methoden müssen definiert werden, nachdem die Instanz den Prototyp ersetzt hat. 4. Prototypenkettenproblem: Attribute außerhalb des Prototyps werden ebenfalls vererbt Wann Beim Erstellen einer Instanz eines Untertyps können keine Parameter an den Konstruktor des Obertyps übergeben werden. wird selten allein verwendet. 6.3.2Verwenden Sie den geliehenen Konstruktor, um call oder apply Parameter erben und übergeben, aber nur das Konstruktormuster verwenden. Kombinierte Vererbung Prototypkettenimplementierung Prototypattribute und Vererbung von Methoden Ausleihen von Konstruktoren zur Implementierung Vererbung von Instanzeigenschaften Prototypische Vererbung(Lesen) Konstruktor wird nicht verwendet Ein beibehaltener Typ kann verwendet werden, aber er teilt die Eigenschaften des Referenztyps wie das Prototypmuster. Parasitäre Vererbung(Lesen) Konstruktor wird nicht berücksichtigt kann verwendet werden Funktionswiederverwendung ist jedoch nicht möglich Parasitäre kombinatorische Vererbung(Lesen) Funktionsdeklaration(Funktionsdeklaration wird mit Name gefördert) Funktionsausdruck( Name ist eine leere anonyme Funktion/Benannte allgemeine Funktionsausdrücke sind anonyme Funktionen) 7.1Rekursion Der strenge Modus kann nicht verwendet werden arguments.callee Sie können benannte Funktionsausdrücke verwenden. 7.2Abschluss: Eine Funktion, die Zugriff auf eine Variable im Gültigkeitsbereich einer anderen Funktion hat Selbstzusammenfassung: Abschlüsse sind Funktionen, im Allgemeinen werden anonyme Funktionen verwendet 1 Abschlüsse können auf Variablen in zurückgegebenen externen Funktionen zugreifen. 2.Das aktive Objekt einer anderen Funktion wird gespeichert, bis die Gültigkeitskette des Abschlusses zerstört wird. 7.2.1Abschlüsse und Variablen Nebenwirkungen: Abschlüsse werden auf der Scope-Kette gespeichert das gesamte Variablenobjekt, sodass die zurückgegebene Variable der zuletzt gespeicherte Wert ist. Beispielsweise kommt es in der for-Schleife zu unbefriedigenden Situationen. 7.2.2ÜberdiesesObjekt Das dieses-Objekt im Abschluss Der Abschluss kann in einigen Sonderfällen auf dem globalen Objekt platziert werden, sodass sich dies automatisch ändert. 7.2.3Speicherverlust Verwenden Sie Abschlüsse, um ein normales Speicherrecycling sicherzustellen 7.3Umfang auf Blockebene imitieren Verwenden Sie zur Nachahmung eine anonyme selbstausführende Funktion. Selbstzusammenfassungsfunktion: 1.Es wird nach der internen Ausführung zerstört. 2.Anonyme selbstausführende Funktionen können die Verschmutzung globaler Methoden und Eigenschaften reduzieren. Beim Schließen gibt es ein Gedächtnisproblem und die Verwendung dieser Kombination ist sehr komfortabel. 7.4Private Variablen Alles auf dem Objekt ist öffentlich Alles in der Funktion ist privat Erstellen Sie die öffentliche Methode der Funktion durch Abschluss(Privilegierte Methode) --------- wird verwendet, um private Variablen zu erhalten im Konstruktor erstellt 🎜>this.****** = function(){ **** }; Aber bei jeder Instanziierung wird eine Reihe von Methoden neu erstellt, was verschwenderisch ist. 7.4.1Statische private Variablen Wenn eine Instanz keine eigenen privaten Eigenschaften hat Verbessert die Wiederverwendbarkeit von Code, aber jede Instanz verfügt nicht über eigene private Variablen. (Weil dies als statische private Variable bezeichnet wird ) Verwenden Sie je nach den spezifischen Anforderungen Instanzvariablen oder statische private Variablen . 7.4.2Modul. Literal Ein Instanzobjekt ( ) Definieren Sie darin private Variablen und Methoden die anonyme Funktion und verwenden Sie dann ein Objektliteral als Rückgabewert der Funktion. 7.4.3 muss eine Instanz eines bestimmten Typs sein , müssen auch einige Eigenschaften oder Methoden hinzugefügt werden. Kapitel 6 Objektorientierte Programmierung
Kapitel 7 Funktionsausdruck
Definition von Funktionen:
Das obige ist der detaillierte Inhalt vonEinführung in die erweiterte JavaScript-Programmierung. 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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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.

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen in PHP und JS. Mit der rasanten Entwicklung des Internets und der Technologie ist der Aktienhandel für viele Anleger zu einer wichtigen Möglichkeit geworden. Die Aktienanalyse ist ein wichtiger Teil der Anlegerentscheidung, und Kerzendiagramme werden häufig in der technischen Analyse verwendet. Wenn Sie lernen, wie man Kerzendiagramme mit PHP und JS zeichnet, erhalten Anleger intuitivere Informationen, die ihnen helfen, bessere Entscheidungen zu treffen. Ein Candlestick-Chart ist ein technischer Chart, der Aktienkurse in Form von Candlesticks anzeigt. Es zeigt den Aktienkurs

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

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

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

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

Die Beziehung zwischen js und vue: 1. JS als Eckpfeiler der Webentwicklung; 2. Der Aufstieg von Vue.js als Front-End-Framework; 3. Die komplementäre Beziehung zwischen JS und Vue; Vue.
