CAS FEE - JavaScript
Komplett
Komplett
-
- 1 / 24
-
Cartes-fiches
Welchen Wert liefert der folgende Ausdruck?
NaN === NaN
Wie heissen die beiden Scopes in JavaScript?
Local scope und Global scope
Was ist kein "Type" in Javascript?
Was ist in Javascript der Unterschied zwischen einer "Expression" und einem "Statement"?
Expression: Erzeugt einen Wert (auch wenn dieser "undefined" ist), z.B. eine Zuweisung
Statement: Sprachelement, z.B. ein Loop oder eine If-Anweisung
Welches sind die 6 Typen in ECMAScript 5?
1)
- Array
- Boolean
- Integer
- Null
- String
- Undefined
2)
- Boolean
- Null
- Number
- Object
- String
- Undefined
3)
- Boolean
- Null
- Number
- String
- Symbol
- Undefined
4)
- Boolean
- Function
- Null
- Number
- String
- Undefined
Welche Typen können im LocalStorage gespeichert werden?
Was wird in die Konsole geschrieben?
var b = 1;
(function a(b) {
b = 2;
while (a <= 5) {
console.log('b:' + b);
}
})(3);
Antwort: keine Ausgabe.
Begründung: a ist eine Function, a <= 5 ergibt false, weil: Regel 9 der "Abstract Equality Comparison Alogirthm. DefaultValue einer Function ruft toString, a.toString() resultiert mit dem Code der Function. Gemäss Regel 5 wird also (Number(a.toString()) <= 5) verglichen. Number(a.toString()) ergibt NaN --> NaN <= 5 --> false
Was macht hoisting im javascript?
Antwort: Hoisting verschiebt alle Deklarationen von Methoden / Variablen nach oben im Scope
Was ist der Unterschied zwischen null und undefined?
undefined ist ein Zustand und null ist ein Wert
Nenne drei Werte in Javascript welche immer falsy sind?
- false
- 0
- "" (leerer/empty string)
- null
- undefined
- NaN (Not-a-Number)
Wie kann überprüft werden, ob eine Variable definiert ist?
typeof value !== 'undefined'
Wenn die Prüfung auf einem Objekt erfolgt, welches mit Sicherheit definiert ist, dann geht auch if (myVariable.a !== null)
Warum gilt es als "Best Practice" den strikten Vergleichsoperator zu verwenden?
Antwort: Der normale Vergleichsoperator versucht den Typ der beiden zu vergleichenden Werte falls nötig anzugleichen. Diese implizite Typenumwandlung kann zu unerwarteten Ergebnissen führen und ist eine Quelle für Bugs.
Was macht 'semicolon insertion‘ und ist es sinnvoll es zu nutzen?
Der JavaScript-Interpreter fügt automatisch Semikolons ein, wenn diese im Programm-Code weggelassen werden.
Mit wenigen Ausnahmefällen zur Übersichtlichkeit sollte nie so programmiert werden, weil es ist unzuverlässig und kann zu Bugs führen.
Nenne jeweils einen Vor- und Nachteil des Einbindens von JavaScript in HTML am Ende des "body"-Blocks
Vorteil:
Page kann schon begonnen werden zu rendern, bevor das/die Scripts geladen werden.
Nachteil:
Funktionen, die im Script definiert sind sind erst vorhanden nachdem das Script geladen wurde (was bei grösseren Scripts evtl. ein Problem sein kann). Das heisst, dass z.B. bestimmte Dinge auf der Page nicht funktionieren solange das Script noch geladen wird.
Was liefert:
(function() {}()) == null
true, weil der Aufruf der Funktion auf der linken Seite undefined liefert und dann undefined == null true liefert.
Der Context eines Funktionsaufrufs wird repräsentiert durch
Welche der 4 Aussagen trifft beim Aufruf einer Javascript Funktion mit einer zufälligen Anzahl Parametern nicht zu?
Welcher ist der richtige Wert von x?
var a = ['hallo', 'velo'];
var x = !!~a.indexOf('hallllo');
var values = new Array();
values[0] = 4;
values[1] = 3;
function testing(number){
values[0] = 5;
values[1] = "8";
values[2] = "3xjp6";
values[3] = number; total = 0;
function adding(){
for(i=0; i<values.length; i++){
total += parseInt(values[i]);
}
}
adding();
console.log(total); }
testing("-5a");
Javascript kennt die primitiven Werte booleans, numbers, strings, null und undefined. Wie unterscheiden sich diese von allen anderen Werte die Objekte sind?
Einer der grössten Unterschiede dieser Werte sind Vergleiche. Jedes Objekt hat eine eigene Identität und ist nur mit sich selber gleich. Im Gegensatz dazu werden primitive Werte mit gleichen Werten als gleich angesehen.
Beispiel 1:
> var obj1 = {}; // an empty object
> var obj2 = {}; // another empty object
> obj1 === obj2
false
> obj1 === obj1
true
Beispiel 2:
> var prim1 = 123;
> var prim2 = 123;
> prim1 === prim2
true
Was resultiert bei folgenden typeof-Abfragen?
Welchen Wert liefert der Ausdruck?
!undefined == !null
Mit welchem Zeichen wird eine Javascript-Anweisungen am Ende der Zeile beendet?
Semikolon (;)