Heim > Backend-Entwicklung > PHP-Tutorial > 5 klassische Front-End-Interviewfragen

5 klassische Front-End-Interviewfragen

WBOY
Freigeben: 2016-08-08 09:28:10
Original
1061 Leute haben es durchsucht

JavaScript-Entwickler waren in der IT-Welt schon immer sehr gefragt. Wenn Sie die Sprache Gottes sehr gut beherrschen, haben Sie viele Möglichkeiten, den Job zu wechseln und Ihr Gehalt zu erhöhen. Doch bevor ein Unternehmen Sie einstellen kann, müssen Sie ein Vorstellungsgespräch erfolgreich bestehen und Ihre Fähigkeiten unter Beweis stellen. In diesem Artikel zeige ich Ihnen 5 Frontend-bezogene Fragen, um die JavaScript-Kenntnisse des Kandidaten und seine Fähigkeiten zur Problemlösung zu testen . Es wird eine Menge Spaß machen!

Frage1: UmfangUmfang

Betrachten Sie den folgenden Code:

(function() {

var a = b = 5;

})();

console.log(b);

Was wird auf der Konsole gedruckt?

antwortet

Der obige Code gibt 5 aus.

Der Trick bei diesem Problem besteht darin, dass es hier zwei Variablendeklarationen gibt, aber a das Schlüsselwort var verwenden erklärt. Zeigt an, dass es sich um eine lokale Variable einer Funktion handelt. Im Gegensatz dazu wird b zu einer globalen Variablen.

Ein weiterer Trick für dieses Problem besteht darin, dass kein strikter Modus verwendet wird („strikt verwenden“;) . Wenn der strikte Modus aktiviert ist, löst der Code den Fehler ReferenceError aus: B ist nicht definiert (b ist nicht definiert). Denken Sie daran, dass der strikte Modus eine explizite Angabe erfordert, um globale Variablendeklarationen zu implementieren. Beispielsweise sollten Sie schreiben:

(function() {

'use strict';

var a = window.b = 5;

})();

console.log(b);

Frage2: „native“ erstellen (native) Methode

definiert eine repeatify-Funktion für das String-Objekt. Wenn eine Ganzzahl n übergeben wird, wird das Ergebnis der n Wiederholung der Zeichenfolge zurückgegeben. Zum Beispiel:

console.log('hello'.repeatify(3));

sollte hellohellohello ausgeben .

Antwort

Eine mögliche Implementierung sieht so aus:

String.prototype.repeatify = String.prototype.repeatify ||. function(times) {

var str = '';

for (var i = 0; i < mal; ;

};

Die aktuelle Frage für Testentwickler dreht sich um

JavaScript

Vererbung und Wissenspunkte von

Prototyp

. Dadurch wird auch überprüft, ob der Entwickler weiß, wie integrierte Objekte erweitert werden (auch wenn dies nicht getan werden sollte).

Ein weiterer wichtiger Punkt hier ist, dass Sie wissen müssen, wie Sie möglicherweise bereits definierte Funktionen nicht überschreiben. Testen Sie, ob die Funktionsdefinition vorher nicht existiert: String.prototype.repeatify = String.prototype.repeatify || function(times) {/* code here */};Diese Technik ist besonders nützlich, wenn Sie

JavaScript

-Funktionen kompatibel machen müssen.

Problem

3

: Deklaration Heben (Heben)

Führen Sie diesen Code aus und welches Ergebnis wird ausgegeben.

function test() {

console.log(a);

console. log(foo());

var a = 1;

function foo() {

return 2;

}

}

test();

Antwort

Das Ergebnis dieses Codes ist undefiniert und 2.

Der Grund dafür ist, dass sowohl die Variablen- als auch die Funktionsdeklaration nach vorne verschoben (an den Anfang der Funktion verschoben) werden, den Variablen jedoch kein Wert zugewiesen wird. Beim Drucken ist die Variable also in der Funktion vorhanden (sie ist deklariert), aber immer noch undefiniert . Mit anderen Worten, der obige Code entspricht dem Folgenden:

function test() {

var a;

function foo() {

return 2;

}

console.log(a);

console.log(foo());

a = 1;

}

test();

Frage4: dieses in JavaScript Wie funktioniert in

Was wird der folgende Code ausgeben? Geben Sie Ihre Antwort.

var fullname = 'John Doe';

var obj = {

fullname: 'Colin Ihrig',

prop: {

vollständiger Name: 'Aurelio De Rosa',

getFullname: function() {

return this.fullname;

}

}

};

console.log(obj.prop.getFullname() );

var test = obj.prop.getFullname;

console.log(test());

Antwort

Die Antwort ist Aurelio De Rosa und John Doe. Der Grund dafür ist, dass das Verhalten dieser in einer Funktion davon abhängt, wie die JavaScript-Funktion aufgerufen und definiert wird, und nicht nur davon hängt davon ab, wie es definiert ist.

Im ersten console.log() Aufruf getFullname() A Funktion, die als obj.prop-Objekt aufgerufen wird. Daher bezieht sich der Kontext auf Letzteres und die Funktion gibt den vollständigen Namen des Objekts zurück. Wenn dagegen getFullname() der Variablen test zugewiesen wird, bezieht sich der Kontext auf das globale Objekt (Fenster). Dies liegt daran, dass test eine Eigenschaft ist, die implizit als globales Objekt festgelegt ist. Aus diesem Grund gibt die Funktion den vollständigen Namen von Fenster zurück, bei dem es sich um den in der ersten Zeile definierten Wert handelt.

Frage5: call() und gelten ()

Jetzt können Sie das vorherige Problem lösen, sodass die endgültige console.log() Aurelio De Rosa ausgibt .

Antworten

Diese Frage kann durch die Verwendung von call() oder apply() Funktionskontext ändern. Im Folgenden verwende ich call(), aber in diesem Fall gibt apply() das gleiche Ergebnis aus:

console.log(test.call(obj.prop));

Fazit

In diesem Artikel Wir haben fünf klassische Fragen zum Testen von JavaScript-Entwicklern besprochen. Die in Vorstellungsgesprächen behandelten Konzepte und Themen sind in der Regel sehr ähnlich. Wenn Sie die Antworten auf einige Fragen nicht kennen, machen Sie sich keine Sorgen: Lernen und Erfahrungen können langsam vonstatten gehen. Wenn Sie weitere interessante Fragen haben, zögern Sie nicht, diese mit uns zu teilen. Es wird vielen Entwicklern helfen.

Kostenlos erhaltenLAMPE

Band of BrothersOriginalPHPVideo-TutorialCD/《Details PHP》Essential-Version, bitte wenden Sie sich für weitere Informationen an den offiziellen Website-Kundendienst: http://www.lampbrother.net

PHPCMSSekundärentwicklung

http://yun.itxdl.cn/online/phpcms/index.php?u=5WeChat-Entwicklung

http://yun.itxdl.cn/online/weixin/index.php?u =5Serverseitige Entwicklung des mobilen Internets

http://yun.itxdl.cn/online/ server/index.php?u =5JavascriptKurs

http:/ /yun.itxdl.cn/ online/js/index.php?u=5CTOTrainingslager

http://yun.itxdl.cn/online/cto/index.php?u=5 Das Obige stellt fünf klassische Front-End-Interviewfragen vor, einschließlich relevanter Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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