MMProg: Praktikum: WiSe 2018/19: EcmaScript03

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Version vom 22. Oktober 2018, 14:02 Uhr von Kowa (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{MMProg:Praktikum:WiSe 2018/19:Menü}} '''Musterlösung''': [{{Git-Server}}/kowa/WK_EcmaScript03_Musterloesung Git-Repository] ('''noch nicht online''') ==Vo…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 3
(zu größeren Teilen überprüft)
Umfang: 4
(unwichtige Fakten fehlen)
Quellenangaben: 3
(wichtige Quellen vorhanden)
Quellenarten: 5
(ausgezeichnet)
Konformität: 3
(gut)

Vorlesung MMProg

Inhalt | EcmaScript01 | EcmaScript02 | EcmaScript03 | Ball 01| Ball 02 | Ball 03 | Pong 01

Musterlösung: Git-Repository (noch nicht online)

Vorbereitung

Aufgaben

Bearbeiten Sie die Aufgaben, die Sie in den JavaScript-Dateien vorfinden. Fügen Sie hinter jeden Kommentar im Anschluss an den zugehörigen console.log-Befehl JavaScript-Code ein, der die im Kommentar beschriebene Aufgabe erledigt.

Wenn Sie alles richtig machen, sollten die Run-Befehle folgende Ausgaben in der Konsole zur Folge haben.

Run es05_object_mapping.js (Konsolausgabe der Musterlösung)

Aufgabe 5a:
{ z1: -3,
  z2: -6,
  z3: -1,
  z4: 4,
  z5: -3,
  z6: -2,
  z7: -1,
  z8: 0,
  z9: 8,
  z10: 1,
  z11: 5,
  z12: -2,
  z13: 3,
  z14: 3,
  z15: -10,
  z16: 2,
  z17: -9,
  z18: -1,
  z19: -1,
  z20: 1,
  z21: 1,
  z22: -1,
  z23: -6,
  z24: -4,
  z25: -9,
  z26: 10,
  z27: -1,
  z28: 7,
  z29: 2,
  z30: 0,
  z31: 6,
  z32: -4,
  z33: 10,
  z34: -1,
  z35: 2,
  z36: -7,
  z37: 1,
  z38: 5,
  z39: -9,
  z40: 0,
  z41: -8,
  z42: 1,
  z43: -7,
  z44: 7,
  z45: 6,
  z46: 3,
  z47: -9,
  z48: -4,
  z49: 0,
  z50: 3,
  z51: 4,
  z52: 8,
  z53: -5,
  z54: -3,
  z55: 10,
  z56: -10,
  z57: -4,
  z58: 5,
  z59: -2,
  z60: -8,
  z61: 6,
  z62: 0,
  z63: 7,
  z64: -4,
  z65: 1,
  z66: -2,
  z67: 3,
  z68: -9,
  z69: 10,
  z70: -8,
  z71: 10,
  z72: 10,
  z73: 2,
  z74: 7,
  z75: -10,
  z76: 3,
  z77: 6,
  z78: 7,
  z79: -6,
  z80: 0,
  z81: -9,
  z82: 7,
  z83: -4,
  z84: 10,
  z85: 7,
  z86: -1,
  z87: -2,
  z88: -9,
  z89: -6,
  z90: 0,
  z91: -3,
  z92: -6,
  z93: -4,
  z94: 6,
  z95: 9,
  z96: -7,
  z97: 3,
  z98: -3,
  z99: 4,
  z100: -3 }

Aufgabe 5b:
{ '0': 7,
  '1': 6,
  '2': 4,
  '3': 7,
  '4': 3,
  '5': 3,
  '6': 5,
  '7': 7,
  '8': 2,
  '9': 1,
  '10': 7,
  '-3': 6,
  '-6': 5,
  '-1': 8,
  '-2': 5,
  '-10': 3,
  '-9': 7,
  '-4': 7,
  '-7': 3,
  '-8': 3,
  '-5': 1 }

Aufgabe 5c:
Anzahl: 21, Summe: 100

Aufgabe 5d:
Summe: 100

Aufgabe 5e:
[ [ '-10', 3 ],
  [ '-9', 7 ],
  [ '-8', 3 ],
  [ '-7', 3 ],
  [ '-6', 5 ],
  [ '-5', 1 ],
  [ '-4', 7 ],
  [ '-3', 6 ],
  [ '-2', 5 ],
  [ '-1', 8 ],
  [ '0', 7 ],
  [ '1', 6 ],
  [ '2', 4 ],
  [ '3', 7 ],
  [ '4', 3 ],
  [ '5', 3 ],
  [ '6', 5 ],
  [ '7', 7 ],
  [ '8', 2 ],
  [ '9', 1 ],
  [ '10', 7 ] ]

Aufgabe 5f:
[ [ '-1', 8 ],
  [ '10', 7 ],
  [ '-4', 7 ],
  [ '3', 7 ],
  [ '-9', 7 ],
  [ '0', 7 ],
  [ '7', 7 ],
  [ '1', 6 ],
  [ '-3', 6 ],
  [ '-2', 5 ],
  [ '6', 5 ],
  [ '-6', 5 ],
  [ '2', 4 ],
  [ '5', 3 ],
  [ '-10', 3 ],
  [ '4', 3 ],
  [ '-7', 3 ],
  [ '-8', 3 ],
  [ '8', 2 ],
  [ '9', 1 ],
  [ '-5', 1 ] ]

Aufgabe 5g:
Keys von o2 (vorher):  0,1,2,3,4,5,6,7,8,9,10,-3,-6,-1,-2,-10,-9,-4,-7,-8,-5
Keys von o2 (nachher): 

Aufgabe 5h:
Key: 0, Value: 7
Key: 1, Value: 6
Key: 2, Value: 4
Key: 3, Value: 7
Key: 4, Value: 3
Key: 5, Value: 3
Key: 6, Value: 5
Key: 7, Value: 7
Key: 8, Value: 2
Key: 9, Value: 1
Key: 10, Value: 7
Key: -3, Value: 6
Key: -6, Value: 5
Key: -1, Value: 8
Key: -2, Value: 5
Key: -10, Value: 3
Key: -9, Value: 7
Key: -4, Value: 7
Key: -7, Value: 3
Key: -8, Value: 3
Key: -5, Value: 1

Aufgabe 5i:
Key: constructor, Value: function Object() { [native code] }
Key: __defineGetter__, Value: function __defineGetter__() { [native code] }
Key: __defineSetter__, Value: function __defineSetter__() { [native code] }
Key: hasOwnProperty, Value: function hasOwnProperty() { [native code] }
Key: __lookupGetter__, Value: function __lookupGetter__() { [native code] }
Key: __lookupSetter__, Value: function __lookupSetter__() { [native code] }
Key: isPrototypeOf, Value: function isPrototypeOf() { [native code] }
Key: propertyIsEnumerable, Value: function propertyIsEnumerable() { [native code] }
Key: toString, Value: function toString() { [native code] }
Key: valueOf, Value: function valueOf() { [native code] }
Key: __proto__, Value: [object Object]
Key: toLocaleString, Value: function toLocaleString() { [native code] }

Aufgabe 5j:
Key: length, Value: 0
Key: constructor, Value: function Array() { [native code] }
Key: concat, Value: function concat() { [native code] }
Key: find, Value: function find() { [native code] }
Key: findIndex, Value: function findIndex() { [native code] }
Key: pop, Value: function pop() { [native code] }
Key: push, Value: function push() { [native code] }
Key: shift, Value: function shift() { [native code] }
Key: unshift, Value: function unshift() { [native code] }
Key: slice, Value: function slice() { [native code] }
Key: splice, Value: function splice() { [native code] }
Key: includes, Value: function includes() { [native code] }
Key: indexOf, Value: function indexOf() { [native code] }
Key: keys, Value: function keys() { [native code] }
Key: entries, Value: function entries() { [native code] }
Key: forEach, Value: function forEach() { [native code] }
Key: filter, Value: function filter() { [native code] }
Key: map, Value: function map() { [native code] }
Key: every, Value: function every() { [native code] }
Key: some, Value: function some() { [native code] }
Key: reduce, Value: function reduce() { [native code] }
Key: reduceRight, Value: function reduceRight() { [native code] }
Key: toString, Value: function toString() { [native code] }
Key: toLocaleString, Value: function toLocaleString() { [native code] }
Key: join, Value: function join() { [native code] }
Key: reverse, Value: function reverse() { [native code] }
Key: sort, Value: function sort() { [native code] }
Key: lastIndexOf, Value: function lastIndexOf() { [native code] }
Key: copyWithin, Value: function copyWithin() { [native code] }
Key: fill, Value: function fill() { [native code] }

Aufgabe 5k:
Key: length, Value: 0
Key: constructor, Value: function Array() { [native code] }
Key: concat, Value: function concat() { [native code] }
Key: find, Value: function find() { [native code] }
Key: findIndex, Value: function findIndex() { [native code] }
Key: pop, Value: function pop() { [native code] }
Key: push, Value: function push() { [native code] }
Key: shift, Value: function shift() { [native code] }
Key: unshift, Value: function unshift() { [native code] }
Key: slice, Value: function slice() { [native code] }
Key: splice, Value: function splice() { [native code] }
Key: includes, Value: function includes() { [native code] }
Key: indexOf, Value: function indexOf() { [native code] }
Key: keys, Value: function keys() { [native code] }
Key: entries, Value: function entries() { [native code] }
Key: forEach, Value: function forEach() { [native code] }
Key: filter, Value: function filter() { [native code] }
Key: map, Value: function map() { [native code] }
Key: every, Value: function every() { [native code] }
Key: some, Value: function some() { [native code] }
Key: reduce, Value: function reduce() { [native code] }
Key: reduceRight, Value: function reduceRight() { [native code] }
Key: toString, Value: function toString() { [native code] }
Key: toLocaleString, Value: function toLocaleString() { [native code] }
Key: join, Value: function join() { [native code] }
Key: reverse, Value: function reverse() { [native code] }
Key: sort, Value: function sort() { [native code] }
Key: lastIndexOf, Value: function lastIndexOf() { [native code] }
Key: copyWithin, Value: function copyWithin() { [native code] }
Key: fill, Value: function fill() { [native code] }
Key: constructor, Value: function Array() { [native code] }
Key: __defineGetter__, Value: function __defineGetter__() { [native code] }
Key: __defineSetter__, Value: function __defineSetter__() { [native code] }
Key: hasOwnProperty, Value: function hasOwnProperty() { [native code] }
Key: __lookupGetter__, Value: function __lookupGetter__() { [native code] }
Key: __lookupSetter__, Value: function __lookupSetter__() { [native code] }
Key: isPrototypeOf, Value: function isPrototypeOf() { [native code] }
Key: propertyIsEnumerable, Value: function propertyIsEnumerable() { [native code] }
Key: toString, Value: function toString() { [native code] }
Key: valueOf, Value: function valueOf() { [native code] }
Key: __proto__, Value: 
Key: toLocaleString, Value: function toLocaleString() { [native code] }


Run es06_prototype.js (Konsolausgabe der Musterlösung)

Aufgabe 6a:
o1:
 { x: 0,
  y: 0,
  moveTo: [Function: moveTo],
  reset: [Function: reset] }
o2:
 { x: 20,
  y: 50,
  moveTo: [Function: moveTo],
  reset: [Function: reset] }

o1:
 { x: 391.79218646341354,
  y: 219.89069317775954,
  moveTo: [Function: moveTo],
  reset: [Function: reset] }
o2:
 { x: 68.98978437331348,
  y: 121.95930164584567,
  moveTo: [Function: moveTo],
  reset: [Function: reset] }

o1:
 { x: 0,
  y: 0,
  moveTo: [Function: moveTo],
  reset: [Function: reset] }
o2:
 { x: 0,
  y: 0,
  moveTo: [Function: moveTo],
  reset: [Function: reset] }

Aufgabe 6b:
o1:
 { x: 0, y: 0 }
o2:
 { x: 0, y: 0 }
Object.getOwnPropertyNames(o1.__proto__): [ 'moveTo', 'reset' ]
Object.getOwnPropertyNames(o2.__proto__): [ 'moveTo', 'reset' ]

o1:
 { x: 312.0588947185867, y: 289.50171410865846 }
o2:
 { x: 23.40507339821707, y: 66.6715639679718 }

o1:
 { x: 0, y: 0 }
o2:
 { x: 0, y: 0 }

Aufgabe 6c:
o1:
 { x: 0, y: 0 }
o2:
 { x: 20, y: 50 }
Object.getOwnPropertyNames(o1.__proto__): [ 'moveTo', 'reset' ]
Object.getOwnPropertyNames(o2.__proto__): [ 'moveTo', 'reset' ]

o1:
 { x: 328.0376597544784, y: 204.9887286473594 }
o2:
 { x: 154.36740873499178, y: 417.9941385019757 }

o1:
 { x: 0, y: 0 }
o2:
 { x: 0, y: 0 }

Aufgabe 6d:
o1:
 GeoObject2 { x: 0, y: 0 }
o2:
 GeoObject2 { x: 20, y: 50 }
Object.getOwnPropertyNames(o1.__proto__): [ 'constructor', 'moveTo', 'reset' ]
Object.getOwnPropertyNames(o2.__proto__): [ 'constructor', 'moveTo', 'reset' ]
typeof GeoObject2: function

o1:
 GeoObject2 { x: 151.49129828610762, y: 415.69772896326754 }
o2:
 GeoObject2 { x: 496.21250762372324, y: 139.9924074842641 }

o1:
 GeoObject2 { x: 0, y: 0 }
o2:
 GeoObject2 { x: 0, y: 0 }

Quellen

  1. Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)