JavaScript
JavaScript-Prototyp, Prototypkette Was sind die Merkmale?
Was macht Evaluierung?
Seine Funktion besteht darin, die entsprechende Zeichenfolge in JS-Code zu analysieren und auszuführen.
Sie sollten die Verwendung von eval vermeiden, da diese unsicher und sehr leistungsintensiv ist (zweimal, einmal zum Parsen in eine JS-Anweisung und einmal zur Ausführung).
Der Unterschied zwischen null und undefiniert?
Schreiben Sie eine allgemeine Ereignis-Listener-Funktion.
(// EVENT (Ereignis)-Toolset, Quelle: github.com/markyun markyun.event = {
// Seite wird geladen
ReadyEvent: function (fn) {
if (fn == null) {
fn = document; else {
window.onload = function() { using using ' 's ‐ ‐ ‐ ‐‐ ‐window.onload = function() { ;
// Parameter: Operationselement, Ereignis. Ereignishandler
AddEvent : function(element, type, handler) {
} else if (element. attachmentEvent) {
element['on' + type] = handler
// RemoveEvent: Function (Element, Type, Handler) {
if (Element.removenentListener) {
Element.removenentListener (Type, Handler, FALSE);
} ELS e if (Element.datachevent) {
element.detachEvent('on' + type, handler);
} else {
element['on' + type] = null;},/ // Ereignisse verhindern (hauptsächlich im Event-Bubbling, da IE keine Ereigniserfassung unterstützt)
StopPropagation: Function (EV) {
IF (Ev.stopPropagation) {
Ev.stopPropagation ();
} Else {
EV EV .cancelBubble = true;
event.returnValue = false; // Holen Sie sich die Referenz auf das Ereignisobjekt und erhalten Sie alle Informationen über das Ereignis. Stellen Sie sicher, dass das Ereignis jederzeit verwendet werden kann.
getEvent: function(e) { var ev = e ||. while (c) {
ev = c.arguments[0];
c = c.caller;
}
}
}
}
return ev;
}
};
Welche Szenarien gelten für Node.js?
Hohe Parallelität, Chatten, Nachrichten-Push in Echtzeit
Einführung in die grundlegenden Datentypen von js.
Zahl, Zeichenfolge, Boolescher Wert, Objekt, undefiniert
Wie implementiert man Vererbung in Javascript?
Durch Prototypen und Konstrukteure
["1", "2", "3"].map(parseInt) Was ist die Antwort?
[1, NaN, NaN] Weil parseInt zwei Parameter (val, radix) erfordert, Map jedoch 3 (Element, Index, Array) übergibt
Wie erstelle ich ein Objekt? (Zeichne die Speicherkarte dieses Objekts)
function Person(name, age) {
this.name = name;
this.age = age;
this.sing = function() { Alert ( this.name) }
}
Lassen Sie uns über das Verständnis dieses Objekts sprechen.
Dies ist ein Schlüsselwort in js. Der Wert ändert sich, wenn die Funktion in verschiedenen Situationen verwendet wird.
Aber es gibt ein allgemeines Prinzip, das heißt, es bezieht sich auf das Objekt, das die Funktion aufruft.
Dies ist im Allgemeinen das globale Objekt Global. Als Methodenaufruf bezieht sich dies dann auf dieses Objekt. Was ist das Ereignis? Was ist der Unterschied zwischen den Ereignismechanismen von IE und Firefox? Wie kann man das Sprudeln stoppen?
1. Eine Operation, die wir auf der Webseite ausführen (einige Operationen entsprechen mehreren Ereignissen). Beispiel: Wenn wir auf eine Schaltfläche klicken, wird ein Ereignis generiert. ist ein Verhalten, das von JavaScript erkannt werden kann.
Was ist Schließung und warum sollten wir sie verwenden?
Nach der Ausführung von say667() sind die internen Variablen des say667()-Abschlusses vorhanden, die internen Variablen der internen Abschlussfunktion sind jedoch nicht vorhanden. Dies führt dazu, dass der Garbage-Collection-Mechanismus GC die von say667() belegten Ressourcen nicht zurückgewinnt. weil say667 Die Ausführung der internen Funktion von () hängt von den Variablen in say667() ab. Dies ist eine sehr einfache Beschreibung dessen, was ein Abschluss bewirkt num++;
return sayAlert;
sayAlert()//Das Ausführungsergebnis sollte angezeigt werden 667
"use strict"; Was bedeutet das? davon, es zu benutzen?
Wie kann festgestellt werden, ob ein Objekt zu einer bestimmten Klasse gehört?
Instanz von (zu verbessern) verwenden
if(eine Instanz von Person){
alarm('yes');
}
Was genau macht der neue Operator?
1. Erstellen Sie ein leeres Objekt und Folgendes Die Variable verweist auf das Objekt und erbt außerdem den Prototyp der Funktion.
2. Dem dadurch referenzierten Objekt werden Eigenschaften und Methoden hinzugefügt. 3. Das neu erstellte Objekt wird dadurch referenziert und am Ende implizit zurückgegeben.
var obj = {};
obj.__proto__ = Base.prototype;
Base.call(obj);
hasOwnProperty
JSON?
JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat.
Es basiert auf einer Teilmenge von JavaScript. Das Datenformat ist einfach, leicht zu lesen und zu schreiben und beansprucht wenig Bandbreite
{'age':'12', 'name':'back'}
Verzögern und Asynchronisieren, dynamische Erstellung der DOM-Methode (am häufigsten verwendet), asynchrones Laden von JS bei Bedarf
jsonp, iframe, window.name, window.postMessage, Proxy-Seite auf dem Server festlegen
{
AMD (Module/Asynchronous-Definition), CMD (Common Module Definition) Normativer Unterschied?
(3) Skript erstellen, in DOM einfügen, nach dem Laden zurückrufen
Der Unterschied zwischen document.write und innerHTML
document.write nur Kann Die gesamte Seite neu zeichnen
innerHTML kann einen Teil der Seite neu zeichnen
Was ist der Unterschied zwischen .call() und .apply()?
Im Beispiel wird add verwendet, um sub, add.call(sub,3,1) == add(3,1) zu ersetzen. Das laufende Ergebnis lautet also: Alert(4).
Hinweis: Funktionen in js sind eigentlich Objekte, der Funktionsname ist eine Referenz auf das Funktionsobjekt.
function add(a,b)
{alarm(a+b);
}
function sub(a,b)
add.call(sub,3, 1);
Bietet einige häufig verwendete Schnittstellenelemente, wie z. B. Dialogfelder, Ziehverhalten, Größenänderungsverhalten usw.
Haben Sie den Quellcode von JQuery gesehen? Können Sie kurz auf das Umsetzungsprinzip eingehen?
Wie konvertiere ich ein Array in jquery in einen JSON-String und dann wieder zurück?
Diese Funktion ist in jQuery nicht verfügbar, daher müssen Sie zuerst zwei jQuery-Erweiterungen schreiben:
$.fn.stringifyArray = function(array) {
} return JSON.stringify(array)
}
$.fn. parseArray = Funktion (Array) {
json.parse (Array)}} zurückgeben
und dann aufrufen:
$ ("") Optimierte Methode für jQuery?
*Die Leistung der klassenbasierten Selektivität ist im Vergleich zum Id-Selektor sehr teuer, da alle DOM-Elemente durchlaufen werden müssen.
*DOM, das häufig verwendet wird, zuerst zwischenspeichern und dann bedienen. Es ist besser, den Kettenaufruf von Jquery zu verwenden.
Zum Beispiel: var str=$("a").attr("href");
*for (var i = size; i < arr.length; i++) {}
Die for-Schleife sucht jedes Mal nach For Mit der .length-Eigenschaft des Arrays (arr) kann das Festlegen einer Variablen zum Speichern dieser Zahl beim Starten der Schleife dazu führen, dass die Schleife schneller läuft:
for (var i = size, length = arr.length; i < length; i++ ) {}
Bereich und Variablendeklaration in JavaScript anheben?
Wie schreibe ich leistungsstarkes Javascript?
Welche Vorgänge führen zu Speicherverlusten?
Ein Speicherverlust ist jedes Objekt, das bestehen bleibt, nachdem Sie es nicht mehr besitzen oder benötigen.
Der Garbage Collector scannt Objekte regelmäßig und zählt die Anzahl anderer Objekte, die Verweise auf jedes Objekt haben. Wenn ein Objekt 0 Referenzen hat (keine anderen Objekte verweisen darauf) oder die einzige Referenz auf das Objekt zirkulär ist, kann der Speicher des Objekts zurückgefordert werden.
Wenn der erste Parameter von setTimeout eine Zeichenfolge anstelle einer Funktion verwendet, führt dies zu einem Speicherverlust.
Abschluss, Konsolenprotokoll, Schleife (wenn zwei Objekte aufeinander verweisen und sich gegenseitig beibehalten, entsteht eine Schleife)
JQuery kann mehrere Ereignisse gleichzeitig an ein Objekt binden.
欢迎选择我的课程,让我们一起见证您的进步~~