Heim > Web-Frontend > js-Tutorial > Hauptteil

Teilen Sie 12 Interviewfragen, um zu sehen, ob Sie JavaScript beherrschen!

青灯夜游
Freigeben: 2022-09-15 13:02:21
nach vorne
1741 Leute haben es durchsucht

Kennst du JavaScript? Der folgende Artikel stellt Ihnen 12 JavaScript-Interviewfragen vor. Probieren Sie diese 12 Interviewfragen aus und sehen Sie, ob Sie sie alle richtig beantworten können!

Teilen Sie 12 Interviewfragen, um zu sehen, ob Sie JavaScript beherrschen!

JavaScript ist eine grundlegende Technologie, die jeder Front-End-Entwickler beherrschen sollte, aber oft verstehen Sie JavaScript möglicherweise nicht vollständig.

Es gibt zwei sehr einfache Möglichkeiten, das technische Niveau einer Person zu testen: Schauen Sie sich den von ihr geschriebenen Code an oder lassen Sie sie sich den von anderen geschriebenen Code ansehen.

Ich habe einige Codefragen zusammengefasst, die Ihr Verständnis von JavaScript testen können. Sie können es ausprobieren und sehen, ob Sie sie alle richtig beantworten können. Wenn Sie alle Fragen richtig beantworten, wird davon ausgegangen, dass Sie über JavaScript-Kenntnisse verfügen.

Erste Frage

Versuchen Sie, die Ausgabe zu erraten:

const person = { name: '代码与野兽' }
Object.defineProperty(person, 'age', { value: 18 })

console.log(person.age)
console.log(Object.keys(person))
Nach dem Login kopieren

Ausgabe:

18
['name']
Nach dem Login kopieren

Analyse:
Viele Leute verwechseln leicht die zweite Ausgabe, da die mit defineProperty definierten Eigenschaften standardmäßig nicht aufzählbar sind. Aufgehoben .

Zweite Frage

Versuchen Sie, die Ausgabe zu erraten:

const name = '代码与野兽'
age = 18

console.log(delete name)
console.log(delete age)
console.log(typeof age)
Nach dem Login kopieren

Ausgabe:

false
true
"undefined"
Nach dem Login kopieren

Analyse:
Der erste Fehler liegt daran, dass durch Löschen nur Attribute auf dem Objekt gelöscht werden können und der Name kein Attribut ist. Daher ist das Löschen fehlgeschlagen.
Der zweite Grund liegt darin, dass wir zum Erstellen der Variablen keine Deklaration verwenden. Sie wird als globale Variable betrachtet und in das Fensterobjekt eingebunden, was dem Löschen von window.age entspricht, sodass das Löschen erfolgreich ist.
Die dritte Undefiniertheit liegt daran, dass das Alter gelöscht wurde. Die dritte Frage: Versuchen Sie die Ausgabe zu erraten:

Dies ist ein neuer Verweis auf die Variable. Der vorherige Verweis befindet sich noch in Mitgliedern. Einfach ausgedrückt: { Name: 'Code and the Beast' } Dieses Objekt existiert in einem bestimmten Speicherplatz, vorausgesetzt, seine Adresse ist X201. Seine Logik sieht ungefähr wie folgt aus:

[{
  name: "代码与野兽"
}]
Nach dem Login kopieren

Frage 4

Versuchen Sie, die Ausgabe zu erraten:

let person = X201
const members = [X201]
persion = null
Nach dem Login kopieren

Ausgabe:
function SuperHero() {
  this.make = '代码与野兽'
  return { make: '野兽与代码'}
}

const mySuperhero = new SuperHero()
console.log(mySuperhero)
Nach dem Login kopieren

Analyse: Wenn der Konstruktor schließlich ein Objekt zurückgibt, dann alle zuvor festgelegte Eigenschaften werden ungültig.

Frage 5

Versuchen Sie, die Ausgabe zu erraten:

{
  make: "野兽与代码"
}
Nach dem Login kopieren
Ausgabe:

const name = '代码与野兽'
console.log(name.padStart(14))
console.log(name.padStart(2))
Nach dem Login kopieren

Erklärung: Die Methode padStart kann Leerzeichen am Anfang der Zeichenfolge füllen. Der Parameter ist die Gesamtlänge der neuen Zeichenfolge. Wenn diese Länge kürzer als die ursprüngliche Zeichenfolgenlänge ist, erfolgt keine Auffüllung.

Frage 6

Versuchen Sie, die Ausgabe zu erraten:

"         代码与野兽"
"代码与野兽"
Nach dem Login kopieren

Ausgabe:

console.log(parseInt("7"))
console.log(parseInt("7*6"))
console.log(parseInt("7Din"))
Nach dem Login kopieren

Analyse: Wenn die Parameter von parseInt eine Kombination aus Zeichenfolgen und Zahlen sind, wird von Anfang an geprüft Wenn eine Datentypfehlerposition auftritt und vor der Datentypfehlerposition eine gültige Zahl vorhanden ist, wird eine Zahl zurückgegeben.

Frage 7

Versuchen Sie, die Ausgabe zu erraten:

7
7
7
Nach dem Login kopieren
Ausgabe:

[1, 2, 3, 4].reduce((x, y) => console.log(x, y))
Nach dem Login kopieren

Analyse: Wenn wir keinen Anfangswert zum Reduzieren übergeben, ist x der erste Wert des Arrays , y ist der zweite Wert des Arrays.

Frage 8

Versuchen Sie, die Ausgabe zu erraten:

1
2
undefined
3
undefined
4
Nach dem Login kopieren
Ausgabe:

function getUserInfo(one, two, three) {
  console.log(one)
  console.log(two)
  console.log(three)
}

const superHero = '代码与野兽'
const age = 1000

getUserInfo`${superHero} 是 ${age} 岁`
getUserInfo`hello`
Nach dem Login kopieren

Analyse: Wenn wir die Vorlagenzeichenfolgensyntax verwenden, um eine Funktion aufzurufen, ist der erste Parameter immer ein geteiltes Array von Zeichenfolgen. Die restlichen Parameter sind die Werte des Vorlagenausdrucks.

Frage 9

Versuchen Sie, die Ausgabe zu erraten:

["", " 是 ", " 岁"]
"代码与野兽"
1000
["hello"]
undefined
undefined
Nach dem Login kopieren
Ausgabe:

(() => {
  let x, y;
  try {
    throw new Error()
  } catch (x) {
    (x = 1), (y = 2);
    console.log(x)
  }
  console.log(x)
  console.log(y)
})()
Nach dem Login kopieren

Analyse: Beim Zugriff auf x in Catch wird auf den Parameter zugegriffen, nicht auf die externe Variable x.

Frage 10

Versuchen Sie, die Ausgabe zu erraten:

1
undefined
2
Nach dem Login kopieren
Ausgabe:

"function"
Nach dem Login kopieren

解析:
在 JavaScript 中,Class 也是 function。

第十一题

尝试推测它的输出:

const arr = [7, 1, 4, 3, 2];
for (const elem of arr) {
  setTimeout(() => console.log(elem), elem);
}
Nach dem Login kopieren

输出:

1
2
3
4
7
Nach dem Login kopieren

解析:
没什么好解释的......

第十二题

尝试推测它的输出:

const foo = { bar: 1 };
with(foo) {
  var bar = 2
};
console.log(foo.bar);
Nach dem Login kopieren

输出:

2
Nach dem Login kopieren

解析:

with 的对象会作为 global 对象。在 with 使用 var 等价于 window.[xxx]。而这时 foo 就是那个 window。

【相关推荐:javascript学习教程

Das obige ist der detaillierte Inhalt vonTeilen Sie 12 Interviewfragen, um zu sehen, ob Sie JavaScript beherrschen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!