Heim >Web-Frontend >js-Tutorial >Häufige Interviewfragen zu JavaScript
Was das Thema JS-Umfang angeht, ist es eine Interviewfrage, die Interviewer bei Vorstellungsgesprächen gerne stellen. Der folgende Artikel erzählt Ihnen hauptsächlich von JavascriptEinige häufige Interviewfragen zum Thema Umfang, auf die sich Freunde in Not beziehen können.
Empfohlene verwandte Artikel: Die umfassendste Sammlung von js-Interviewfragen im Jahr 2020 (aktuell)
Dieser Artikel teilt Ihnen hauptsächlich den relevanten Inhalt zu Fragen zu JavaScript-Scope-Interviews mit und dient als Referenz und zum gemeinsamen Lernen.
1. Geltungsbereich:
Bevor Sie den Geltungsbereich verstehen, müssen Sie zunächst einige grundlegende Konzepte verstehen:
Jede Variable und Funktion hat ihren Wirkungsbereich. Sie kann nicht außerhalb ihres Wirkungsbereichs verwendet werden.
2. Globale Variablen, lokale Variablen:
1. Globale Variablen:
(1) Variablen, die im globalen Bereich deklariert sind, wie zum Beispiel var a=1;
(2) Nur Zuweisungen ohne deklarierte Werte, wie zum Beispiel a=2;
(Hinweis: Wenn a=2 in einer Funktion Umgebung, auch globale Variablen)
2. Lokale Variablen:
In Funktionen geschriebene Variablen werden lokale Variablen genannt.
3. Funktion:
(1) Programmsicherheit.
(2) Speicherfreigabe.
3. Scope-Kette:
Der Prozess der Mengenermittlung. Überprüfen Sie zunächst, ob in Ihrer lokalen Umgebung eine Deklaration oder Funktion vorhanden ist. Wenn dies der Fall ist, prüfen Sie, ob die Deklaration eine Zuweisung oder den Inhalt der Funktion hat. Wenn nicht, suchen Sie eine Ebene nach oben.
4. Vorabanalysesequenz:
Jedes Programm muss die Arbeit mit der Vorabanalyse der Grammatik erledigen Wenn ein Fehler vorliegt, analysieren Sie, ob der Speicher Platz findet, analysieren Sie die Variablen ... bis die Analyse korrekt ist, beginnen Sie mit der normalen Prozesssequenz. Stellen Sie sich vor, wenn es keine Pre-Parsing-Sequenz gibt und die Prozesssequenz direkt befolgt wird, kann das Programm bis zur letzten Funktion ausgeführt werden, einen Syntaxfehler finden und dann anfangen, Fehler zu melden Sei!
Sequentieller Inhalt:
1. Die in der Datei referenzierten 3f1c4e4b6b16bbbd69b2ee476dc4f83a-Blöcke werden der Reihe nach analysiert und von oben nach unten verbunden.
2. Var in jedem Skriptblock (Hinweis: Parsen Sie nur den Variablennamen , nicht den Wert, z. B. analysiert var a=2;
die Variable a am Anfang der Umgebung. und Die folgenden Werte werden nicht analysiert, nur wenn das Programm bis zur Zeile var a=2
ausgeführt wird, wird der Variablen ein Wert zugewiesen) und die Funktion wird bis zum Anfang dieses Blocks analysiert.
3. Analysieren Sie nacheinander jede Umgebung, wobei Sie var
, function
bis zum Anfang der Umgebung analysieren.
5. Bewerbungsszenarien (einige häufige Fragen im Vorstellungsgespräch):
var a="aa"; function test(){ alert(a);//undefined,函数执行后,在函数环境内,var a会预解析,当弹出a时,首先先找本层环境内有无声明,发现有。但是代码没有执行到赋值,所以结果是undefined。 var a="bb";//var a会预解析在函数开头,执行到这行才进行赋值 alert(a);//“bb” } test(); alert(a);//"aa" 找全局环境下的声明,找到了var a="aa"
var a="aa"; function test(){ alert(a);//“aa”,函数执行后,在函数环境内,没有找到本层环境关于a的声明,所以开始向上一层环境查找。 a="bb";//执行到这行开始改变全局a的量 } test(); alert(a);//"bb" 全局环境的a在函数执行时已经被改变
function test(){ b();//函数b会被预解析,因此可以调用,执行了输出1; var a=1; function b(){ console.log(1); console.log(a);//undefined var a=2; } } test();
6. Zusammenfassung:
Um den Umfang einer Variablen herauszufinden, ist es wichtig, die Reihenfolge vor dem Parsen herauszufinden Dann urteilen Sie. Es gibt Routinen für den Geltungsbereich: Überprüfen Sie zunächst, ob in der aktuellen Umgebung eine Deklaration vorhanden ist. Wenn ja, prüfen Sie, ob eine Zuweisung durchgeführt wurde. Wenn nur eine Deklaration, aber keine Zuweisung vorhanden ist, ist diese undefiniert. Wenn keine Deklaration oder Zuweisung vorhanden ist, suchen Sie eine Ebene höher, bis sie gefunden wird. Wenn nicht alle Ausführungsumgebungen gefunden werden, meldet die Konsole einen Fehler, dass die Variable nicht gefunden werden konnte.
Funktionen sind noch einfacher: Finden Sie heraus, ob es in dieser Umgebung eine vorab analysierte Funktion gibt, und wenn ja, können Sie sie ausführen. Wenn nicht, schauen Sie trotzdem nach.
Verwandte Lernempfehlungen: Javascript-Video-Tutorial
Das obige ist der detaillierte Inhalt vonHäufige Interviewfragen zu JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!