J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga J AVA S C R I P T (Programmation Internet) V O L . I V +243 - 851278216 - 899508675 - 995624714 - 902263541 - 813572818 La dernière révision de ce texte est disponible sur CD. CHAPITRE 10 : ITÉRATIONS : Un « ITERATEUR » est un object retourné par l'invocation de « [Symbol.iterator]() » sur un itérable comme ceci : itérable.[Symbol.iterator](). Cette instruction récupère à tour de rôle chacun des éléments dans un objet et les retourne via sa méthode « next() ». Une « ITÉRATION » est un parcours/listage d'éléments (ici des PROPRIÉTÉS), un après l'autre à chaque demande (ici avec la méthode « next »). Voir plus loin. Un « résultat d'itération est un OBJET comme on peut le voir ci-dessous. ATTENTION : Une propriété « enumerable » peut être listé par une boucle J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV « for...in ». Un « itérable » est un objet qui peut être parcouru avec une méthode dont la clé est « Symbol.iterator ». Voici un exemple facile d’Itération [Synchrone] :: <script type="text/javascript"> "use strict"; const ITERABLE = ['Oeil', 'Ré tine', 'Nerf Optique', "Chiasma", "Tractus Optique", "Corps Genouillé s Externes = Corps Gé niculé s Laté raux (Thalamus)", "Radiations Optiques", "Cortex Cé ré bral du Lobe Occipital (Scissure Calcarine) ainsi qu'une partie du lobe temporal et parié tal", "Hypothalamus", "Colliculi Supé rieurs", "Noyaux du Tractus Optique Accessoire"]; const ITERATOR = ITERABLE[Symbol.iterator](); for(let key in ITERABLE)console.log(ITERATOR.next()) console.log(ITERATOR.next()) console.log(ITERATOR.next()) </script> Exécution : Object { value: "Oeil", done: false } Object { value: "Ré tine", done: false } Object { value: "Nerf Optique", done: false } Object { value: "Chiasma", done: false } Object { value: "Tractus Optique", done: false } Object { value: "Corps Genouillé s Externes = Corps Gé niculé s Laté raux (Thalamus)", done: false } Object { value: "Radiations Optiques", done: false } Object { value: "Cortex Cé ré bral du Lobe Occipital (Scissure Calcarine) ainsi qu'une partie du lobe temporal et parié tal ", done: false } Object { value: "Hypothalamus", done: false } Itérations 2 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu Object { value: Object { value: done: false } Object { value: Object { value: JavaScript Tome-IV "Colliculi Supé rieurs", done: false } "Noyaux du Tractus Optique Accessoire", undefined, done: true } undefined, done: true } Appliquons cela (usage d’itérateur) à un objet JavaScript : <script type="text/javascript"> "use strict"; console.log("DESCRIPTEURS DES PROPRIéTéS DE L'OBJET window") const win_ownPropertyDescriptors = Object.getOwnPropertyDescriptors(window); console.log(win_ownPropertyDescriptors) /* Object { undefined: {…}, Array: {…}, Boolean: {…}, Date: {…}, Math: {…}, Number: {…}, String: {…}, RegExp: {…}, Error: {…}, InternalError: {…}, … } */ console.log("=====") console.log("NOMS (CLéS) DE CES PROPRIéTéS DE L'OBJET window") const win_ownPropertyNames = Object.getOwnPropertyNames(window); console.log(win_ownPropertyNames) /* Array [ "undefined", "InstallTrigger", "Function", "Object", "eval", "EventTarget", "Window", "close", "stop", "focus", … ] */ console.log("=====") console.log("CES MéMES CLéS, AVEC UN ITéRATEUR (value ET done)") // Itérations 3 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV // Ci-dessous, « win_ownPropertyNames[Symbol.iterator]() » est un // objet ITéRABLE contenant les OwnProperties de « window » // (voir ci-dessus). // // Un itérateur (voir plus loin) permettra d'itérer les propriétés // de cet objet qui contient les OwnProperties de « window ». const iterator = win_ownPropertyNames[Symbol.iterator](); // // Un « ITERATEUR » est un object retourné par l'invocation de // « [Symbol.iterator]() » sur an itérable comme ceci : // itérable.[Symbol.iterator](). // Cette instruction récupére é tour de réle chacun des éléments // dans un object et les retourne via sa méthode « next() ». console.log(iterator) // Array Iterator { } // __proto__: Array Iterator // next: function next() // Symbol(Symbol.toStringTag): undefined // __proto__: Object { … } console.log("=====") // Une « ITéRATION » est un parcours/listage d'éléments // (ici des PROPRIéTéS), un aprés l'autre é chaque demande // (ici avec la méthode « next »). Voir plus loin. // // Un « résultat d'itération est un OBJET // comme on peut le voir ci-dessous. console.log("éNUMéRATION DE CES CLéS PAR ITéRATEUR Itérations 4 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV AVEC UNE BOUCLE for...in") for(let key in win_ownPropertyNames)console.log(iterator.next()) /* Object { value: "undefined", done: false } Object { value: "InstallTrigger", done: false } Object { value: "Function", done: false } Object { value: "Object", done: false } Object { value: "eval", done: false } Object { value: "EventTarget", done: false } Object { value: "Window", done: false } Object { value: "close", done: false } Object { value: "stop", done: false } Object { value: "focus", done: false } Object { value: "blur", done: false } Object { value: "open", done: false } Object { value: "alert", done: false } Object { value: "confirm", done: false } Object { value: "prompt", done: false } Object { value: "print", done: false } Object { value: "postMessage", done: false } Object { value: "captureEvents", done: false } Object { value: "releaseEvents", done: false } Object { value: "getSelection", done: false } Object { value: "getComputedStyle", done: false } Object { value: "matchMedia", done: false } Object { value: "moveTo", done: false } Object { value: "moveBy", done: false } Object { value: "resizeTo", done: false } Object { value: "resizeBy", done: false } Object { value: "scroll", done: false } Object { value: "scrollTo", done: false } Object { value: "scrollBy", done: false } Object { value: "requestAnimationFrame", done: false } Object { value: "cancelAnimationFrame", done: false } Object { value: "getDefaultComputedStyle", done: false } Object { value: "scrollByLines", done: false } Object { value: "scrollByPages", done: false } Object { value: "sizeToContent", done: false } Object { value: "updateCommands", done: false } Object { value: "find", done: false } Object { value: "dump", done: false } Object { value: "setResizable", done: false } Itérations 5 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "requestIdleCallback", done: false } Object { value: "cancelIdleCallback", done: false } Object { value: "btoa", done: false } Object { value: "atob", done: false } Object { value: "setTimeout", done: false } Object { value: "clearTimeout", done: false } Object { value: "setInterval", done: false } Object { value: "clearInterval", done: false } Object { value: "createImageBitmap", done: false } Object { value: "fetch", done: false } Object { value: "self", done: false } Object { value: "name", done: false } Object { value: "history", done: false } Object { value: "locationbar", done: false } Object { value: "menubar", done: false } Object { value: "personalbar", done: false } Object { value: "scrollbars", done: false } Object { value: "statusbar", done: false } Object { value: "toolbar", done: false } Object { value: "status", done: false } Object { value: "closed", done: false } Object { value: "frames", done: false } Object { value: "length", done: false } Object { value: "opener", done: false } Object { value: "parent", done: false } Object { value: "frameElement", done: false } Object { value: "navigator", done: false } Object { value: "external", done: false } Object { value: "applicationCache", done: false } Object { value: "screen", done: false } Object { value: "innerWidth", done: false } Object { value: "innerHeight", done: false } Object { value: "scrollX", done: false } Object { value: "pageXOffset", done: false } Object { value: "scrollY", done: false } Object { value: "pageYOffset", done: false } Object { value: "screenX", done: false } Object { value: "screenY", done: false } Object { value: "outerWidth", done: false } Object { value: "outerHeight", done: false } Object { value: "performance", done: false } Object { value: "mozInnerScreenX", done: false } Object { value: "mozInnerScreenY", done: false } Object { value: "devicePixelRatio", done: false } Object { value: "scrollMaxX", done: false } Itérations 6 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "scrollMaxY", done: false } Object { value: "fullScreen", done: false } Object { value: "mozPaintCount", done: false } Object { value: "ondevicemotion", done: false } Object { value: "ondeviceorientation", done: false } Object { value: "onabsolutedeviceorientation", done: false } Object { value: "ondeviceproximity", done: false } Object { value: "onuserproximity", done: false } Object { value: "ondevicelight", done: false } Object { value: "content", done: false } Object { value: "sidebar", done: false } Object { value: "onvrdisplayconnect", done: false } Object { value: "onvrdisplaydisconnect", done: false } Object { value: "onvrdisplayactivate", done: false } Object { value: "onvrdisplaydeactivate", done: false } Object { value: "onvrdisplaypresentchange", done: false } Object { value: "crypto", done: false } Object { value: "onabort", done: false } Object { value: "onblur", done: false } Object { value: "onfocus", done: false } Object { value: "onauxclick", done: false } Object { value: "oncanplay", done: false } Object { value: "oncanplaythrough", done: false } Object { value: "onchange", done: false } Object { value: "onclick", done: false } Object { value: "onclose", done: false } Object { value: "oncontextmenu", done: false } Object { value: "ondblclick", done: false } Object { value: "ondrag", done: false } Object { value: "ondragend", done: false } Object { value: "ondragenter", done: false } Object { value: "ondragexit", done: false } Object { value: "ondragleave", done: false } Object { value: "ondragover", done: false } Object { value: "ondragstart", done: false } Object { value: "ondrop", done: false } Object { value: "ondurationchange", done: false } Object { value: "onemptied", done: false } Object { value: "onended", done: false } Object { value: "oninput", done: false } Object { value: "oninvalid", done: false } Itérations 7 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "onkeydown", done: false } Object { value: "onkeypress", done: false } Object { value: "onkeyup", done: false } Object { value: "onload", done: false } Object { value: "onloadeddata", done: false } Object { value: "onloadedmetadata", done: false } Object { value: "onloadend", done: false } Object { value: "onloadstart", done: false } Object { value: "onmousedown", done: false } Object { value: "onmouseenter", done: false } Object { value: "onmouseleave", done: false } Object { value: "onmousemove", done: false } Object { value: "onmouseout", done: false } Object { value: "onmouseover", done: false } Object { value: "onmouseup", done: false } Object { value: "onwheel", done: false } Object { value: "onpause", done: false } Object { value: "onplay", done: false } Object { value: "onplaying", done: false } Object { value: "onprogress", done: false } Object { value: "onratechange", done: false } Object { value: "onreset", done: false } Object { value: "onresize", done: false } Object { value: "onscroll", done: false } Object { value: "onseeked", done: false } Object { value: "onseeking", done: false } Object { value: "onselect", done: false } Object { value: "onshow", done: false } Object { value: "onstalled", done: false } Object { value: "onsubmit", done: false } Object { value: "onsuspend", done: false } Object { value: "ontimeupdate", done: false } Object { value: "onvolumechange", done: false } Object { value: "onwaiting", done: false } Object { value: "onselectstart", done: false } Object { value: "ontoggle", done: false } Object { value: "onmozfullscreenchange", done: false } Object { value: "onmozfullscreenerror", done: false } Object { value: "onanimationcancel", done: false } Object { value: "onanimationend", done: false } Object { value: "onanimationiteration", done: false } Object { value: "onanimationstart", done: false } Object { value: "ontransitioncancel", done: false } Object { value: "ontransitionend", done: false } Itérations 8 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "ontransitionrun", done: false } Object { value: "ontransitionstart", done: false } Object { value: "onwebkitanimationend", done: false } Object { value: "onwebkitanimationiteration", done: false } Object { value: "onwebkitanimationstart", done: false } Object { value: "onwebkittransitionend", done: false } Object { value: "onerror", done: false } Object { value: "speechSynthesis", done: false } Object { value: "onafterprint", done: false } Object { value: "onbeforeprint", done: false } Object { value: "onbeforeunload", done: false } Object { value: "onhashchange", done: false } Object { value: "onlanguagechange", done: false } Object { value: "onmessage", done: false } Object { value: "onmessageerror", done: false } Object { value: "onoffline", done: false } Object { value: "ononline", done: false } Object { value: "onpagehide", done: false } Object { value: "onpageshow", done: false } Object { value: "onpopstate", done: false } Object { value: "onstorage", done: false } Object { value: "onunload", done: false } Object { value: "localStorage", done: false } Object { value: "origin", done: false } Object { value: "isSecureContext", done: false } Object { value: "indexedDB", done: false } Object { value: "caches", done: false } Object { value: "sessionStorage", done: false } Object { value: "window", done: false } Object { value: "document", done: false } Object { value: "location", done: false } Object { value: "top", done: false } Object { value: "netscape", done: false } Object { value: "Node", done: false } Object { value: "Document", done: false } Object { value: "HTMLDocument", done: false } Object { value: "Performance", done: false } Object { value: "Event", done: false } Object { value: "Location", done: false } Object { value: "StyleSheetList", done: false } Object { value: "Element", done: false } Object { value: "HTMLElement", done: false } Itérations 9 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "HTMLScriptElement", done: false } Object { value: "console", done: false } Object { value: "Array", done: false } Object { value: "Boolean", done: false } Object { value: "JSON", done: false } Object { value: "Date", done: false } Object { value: "Math", done: false } Object { value: "isNaN", done: false } Object { value: "isFinite", done: false } Object { value: "parseInt", done: false } Object { value: "parseFloat", done: false } Object { value: "NaN", done: false } Object { value: "Infinity", done: false } Object { value: "Number", done: false } Object { value: "escape", done: false } Object { value: "unescape", done: false } Object { value: "uneval", done: false } Object { value: "decodeURI", done: false } Object { value: "encodeURI", done: false } Object { value: "decodeURIComponent", done: false } Object { value: "encodeURIComponent", done: false } Object { value: "String", done: false } Object { value: "RegExp", done: false } Object { value: "Error", done: false } Object { value: "InternalError", done: false } Object { value: "EvalError", done: false } Object { value: "RangeError", done: false } Object { value: "ReferenceError", done: false } Object { value: "SyntaxError", done: false } Object { value: "TypeError", done: false } Object { value: "URIError", done: false } Object { value: "StopIteration", done: false } Object { value: "ArrayBuffer", done: false } Object { value: "Int8Array", done: false } Object { value: "Uint8Array", done: false } Object { value: "Int16Array", done: false } Object { value: "Uint16Array", done: false } Object { value: "Int32Array", done: false } Object { value: "Uint32Array", done: false } Object { value: "Float32Array", done: false } Object { value: "Float64Array", done: false } Object { value: "Uint8ClampedArray", done: false } Object { value: "Proxy", done: false } Object { value: "WeakMap", done: false } Object { value: "Map", done: false } Itérations 10 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "Set", done: false } Object { value: "DataView", done: false } Object { value: "Symbol", done: false } Object { value: "SharedArrayBuffer", done: false } Object { value: "Intl", done: false } Object { value: "Reflect", done: false } Object { value: "WeakSet", done: false } Object { value: "Atomics", done: false } Object { value: "Promise", done: false } Object { value: "WebAssembly", done: false } Object { value: "CSSRule", done: false } Object { value: "CSSStyleRule", done: false } Object { value: "HTMLTimeElement", done: false } Object { value: "SpeechSynthesisEvent", done: false } Object { value: "SpeechSynthesisErrorEvent", done: false } Object { value: "BatteryManager", done: false } Object { value: "BaseAudioContext", done: false } Object { value: "AudioContext", done: false } Object { value: "CanvasGradient", done: false } Object { value: "HTMLPictureElement", done: false } Object { value: "HTMLMenuItemElement", done: false } Object { value: "DOMStringMap", done: false } Object { value: "HTMLFormElement", done: false } Object { value: "BeforeUnloadEvent", done: false } Object { value: "CSSFontFaceRule", done: false } Object { value: "CSSValue", done: false } Object { value: "CSSPrimitiveValue", done: false } Object { value: "HTMLOptionElement", done: false } Object { value: "Option", done: false } Object { value: "WebGLShader", done: false } Object { value: "TextDecoder", done: false } Object { value: "MediaKeys", done: false } Object { value: "HTMLCanvasElement", done: false } Object { value: "CSSStyleDeclaration", done: false } Object { value: "HTMLTableSectionElement", done: false } Object { value: "RTCDTMFSender", done: false } Object { value: "Plugin", done: false } Object { value: "AudioBuffer", done: false } Object { value: "HTMLSelectElement", done: false } Object { value: "CustomEvent", done: false } Object { value: "PageTransitionEvent", done: false } Object { value: "SVGPoint", done: false } Object { value: "PushManager", done: false } Itérations 11 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "AudioNode", done: false } Object { value: "ChannelMergerNode", done: false } Object { value: "SVGElement", done: false } Object { value: "SVGGraphicsElement", done: false } Object { value: "SVGEllipseElement", done: false } Object { value: "StyleSheet", done: false } Object { value: "CSSStyleSheet", done: false } Object { value: "RTCStatsReport", done: false } Object { value: "SVGGradientElement", done: false } Object { value: "SVGRadialGradientElement", done: false } Object { value: "PerformanceEntry", done: false } Object { value: "PerformanceResourceTiming", done: false } Object { value: "PopupBlockedEvent", done: false } Object { value: "SVGComponentTransferFunctionElement", done: false } Object { value: "CSSPageRule", done: false } Object { value: "SVGPathSeg", done: false } Object { value: "SVGPathSegCurvetoQuadraticAbs", done: false } Object { value: "MediaKeyError", done: false } Object { value: "VRStageParameters", done: false } Object { value: "CloseEvent", done: false } Object { value: "SVGPathSegCurvetoQuadraticSmoothRel", done: false } Object { value: "RTCTrackEvent", done: false } Object { value: "ServiceWorker", done: false } Object { value: "SVGFEColorMatrixElement", done: false } Object { value: "HTMLUListElement", done: false } Object { value: "ProgressEvent", done: false } Object { value: "MutationEvent", done: false } Object { value: "MessageEvent", done: false } Object { value: "TextTrackCueList", done: false } Object { value: "UIEvent", done: false } Object { value: "FocusEvent", done: false } Object { value: "SVGPathSegLinetoHorizontalAbs", done: false } Object { value: "TextTrackList", done: false } Object { value: "DOMRectReadOnly", done: false } Object { value: "HTMLMetaElement", done: false } Object { value: "DOMException", done: false } Object { value: "PerformanceMeasure", done: false } Itérations 12 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "DesktopNotificationCenter", done: false } Object { value: "CharacterData", done: false } Object { value: "Comment", done: false } Object { value: "DelayNode", done: false } Object { value: "SVGAnimatedNumberList", done: false } Object { value: "MediaSource", done: false } Object { value: "SVGLinearGradientElement", done: false } Object { value: "WebGLShaderPrecisionFormat", done: false } Object { value: "SVGStyleElement", done: false } Object { value: "Text", done: false } Object { value: "CDATASection", done: false } Object { value: "HTMLLinkElement", done: false } Object { value: "MessageChannel", done: false } Object { value: "HTMLBaseElement", done: false } Object { value: "DOMRequest", done: false } Object { value: "IDBFileRequest", done: false } Object { value: "HTMLDataListElement", done: false } Object { value: "VRFrameData", done: false } Object { value: "HTMLInputElement", done: false } Object { value: "SVGPathSegMovetoRel", done: false } Object { value: "TrackEvent", done: false } Object { value: "HTMLMeterElement", done: false } Object { value: "DeviceMotionEvent", done: false } Object { value: "SVGStopElement", done: false } Object { value: "BiquadFilterNode", done: false } Object { value: "MediaDevices", done: false } Object { value: "DOMRect", done: false } Object { value: "CSSGroupingRule", done: false } Object { value: "CSSConditionRule", done: false } Object { value: "CSSSupportsRule", done: false } Object { value: "CSSMozDocumentRule", done: false } Object { value: "SVGPathSegLinetoRel", done: false } Object { value: "SVGFEConvolveMatrixElement", done: false } Object { value: "HTMLSourceElement", done: false } Object { value: "SpeechSynthesisUtterance", done: false } Object { value: "Crypto", done: false } Object { value: "Navigator", done: false } Object { value: "FileList", done: false } Itérations 13 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "HTMLTrackElement", done: false } Object { value: "WebGLQuery", done: false } Object { value: "AudioScheduledSourceNode", done: false } Object { value: "AudioBufferSourceNode", done: false } Object { value: "SVGLineElement", done: false } Object { value: "WebGLRenderbuffer", done: false } Object { value: "SVGAnimatedAngle", done: false } Object { value: "CSSKeyframeRule", done: false } Object { value: "HTMLTableColElement", done: false } Object { value: "DOMMatrixReadOnly", done: false } Object { value: "DOMMatrix", done: false } Object { value: "HTMLFieldSetElement", done: false } Object { value: "WebGLSampler", done: false } Object { value: "URLSearchParams", done: false } Object { value: "WebGLUniformLocation", done: false } Object { value: "ServiceWorkerContainer", done: false } Object { value: "SVGPathSegLinetoAbs", done: false } Object { value: "ValidityState", done: false } Object { value: "DOMPointReadOnly", done: false } Object { value: "ProcessingInstruction", done: false } Object { value: "SVGPreserveAspectRatio", done: false } Object { value: "SVGFEOffsetElement", done: false } Object { value: "AbortSignal", done: false } Object { value: "SVGFEImageElement", done: false } Object { value: "TimeEvent", done: false } Object { value: "FontFace", done: false } Object { value: "FileReader", done: false } Object { value: "SVGFEDiffuseLightingElement", done: false } Object { value: "Worker", done: false } Object { value: "External", done: false } Object { value: "HTMLMediaElement", done: false } Object { value: "HTMLAudioElement", done: false } Object { value: "Audio", done: false } Object { value: "IDBTransaction", done: false } Object { value: "ImageBitmap", done: false } Object { value: "MediaElementAudioSourceNode", done: false } Object { value: "RTCDataChannelEvent", done: false } Object { value: "TimeRanges", done: false } Itérations 14 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "TextTrack", done: false } Object { value: "SVGAnimatedNumber", done: false } Object { value: "HTMLImageElement", done: false } Object { value: "Image", done: false } Object { value: "SVGTextContentElement", done: false } Object { value: "SVGTextPositioningElement", done: false } Object { value: "SVGTextElement", done: false } Object { value: "DOMPoint", done: false } Object { value: "HTMLDirectoryElement", done: false } Object { value: "SVGFESpotLightElement", done: false } Object { value: "VRDisplay", done: false } Object { value: "SVGFEMorphologyElement", done: false } Object { value: "IDBCursor", done: false } Object { value: "SVGAngle", done: false } Object { value: "VideoPlaybackQuality", done: false } Object { value: "NodeList", done: false } Object { value: "HTMLTableCellElement", done: false } Object { value: "TextTrackCue", done: false } Object { value: "VTTCue", done: false } Object { value: "XPathResult", done: false } Object { value: "SVGScriptElement", done: false } Object { value: "HTMLStyleElement", done: false } Object { value: "Storage", done: false } Object { value: "XPathExpression", done: false } Object { value: "SVGFEDropShadowElement", done: false } Object { value: "DOMQuad", done: false } Object { value: "SVGPathSegArcRel", done: false } Object { value: "TextMetrics", done: false } Object { value: "AudioListener", done: false } Object { value: "MediaKeyStatusMap", done: false } Object { value: "RTCPeerConnectionIceEvent", done: false } Object { value: "MediaStreamTrackEvent", done: false } Object { value: "HTMLLegendElement", done: false } Object { value: "PerformanceTiming", done: false } Object { value: "SVGNumber", done: false } Object { value: "CSS2Properties", done: false } Object { value: "MediaRecorder", done: false } Object { value: "SVGGeometryElement", done: false } Itérations 15 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "PerformanceMark", done: false } Object { value: "ImageBitmapRenderingContext", done: false } Object { value: "SVGPathSegLinetoHorizontalRel", done: false } Object { value: "SVGFEFuncBElement", done: false } Object { value: "CSSFontFeatureValuesRule", done: false } Object { value: "UserProximityEvent", done: false } Object { value: "MediaQueryListEvent", done: false } Object { value: "RTCCertificate", done: false } Object { value: "Headers", done: false } Object { value: "SVGClipPathElement", done: false } Object { value: "IDBFileHandle", done: false } Object { value: "StorageEvent", done: false } Object { value: "CSSRuleList", done: false } Object { value: "Range", done: false } Object { value: "SVGUseElement", done: false } Object { value: "Rect", done: false } Object { value: "HTMLOListElement", done: false } Object { value: "SVGPathSegArcAbs", done: false } Object { value: "SVGPathSegCurvetoQuadraticSmoothAbs", done: false } Object { value: "SVGRect", done: false } Object { value: "RTCDTMFToneChangeEvent", done: false } Object { value: "IDBMutableFile", done: false } Object { value: "SVGAnimatedPreserveAspectRatio", done: false } Object { value: "HTMLEmbedElement", done: false } Object { value: "CSSMediaRule", done: false } Object { value: "SVGImageElement", done: false } Object { value: "MediaStream", done: false } Object { value: "SVGGElement", done: false } Object { value: "WebGLFramebuffer", done: false } Object { value: "RTCPeerConnection", done: false } Object { value: "HTMLTextAreaElement", done: false } Object { value: "Permissions", done: false } Object { value: "TextEncoder", done: false } Object { value: "VRDisplayEvent", done: false } Object { value: "SVGAnimatedEnumeration", done: false } Object { value: "SVGAnimatedLengthList", done: false } Object { value: "MediaStreamAudioSourceNode", done: Itérations 16 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV false } Object { value: "ImageData", done: false } Object { value: "SVGFEFloodElement", done: false } Object { value: "SpeechSynthesisVoice", done: false } Object { value: "HTMLQuoteElement", done: false } Object { value: "DOMParser", done: false } Object { value: "StorageManager", done: false } Object { value: "WebGLProgram", done: false } Object { value: "DOMTokenList", done: false } Object { value: "SVGFECompositeElement", done: false } Object { value: "OfflineAudioContext", done: false } Object { value: "HTMLMenuElement", done: false } Object { value: "WebSocket", done: false } Object { value: "DocumentType", done: false } Object { value: "HTMLHeadElement", done: false } Object { value: "SVGAElement", done: false } Object { value: "SVGAnimatedBoolean", done: false } Object { value: "SVGMaskElement", done: false } Object { value: "HTMLUnknownElement", done: false } Object { value: "HTMLBRElement", done: false } Object { value: "GamepadButton", done: false } Object { value: "HTMLProgressElement", done: false } Object { value: "SVGFilterElement", done: false } Object { value: "HTMLCollection", done: false } Object { value: "HTMLFormControlsCollection", done: false } Object { value: "XPathEvaluator", done: false } Object { value: "MouseEvent", done: false } Object { value: "DragEvent", done: false } Object { value: "VRFieldOfView", done: false } Object { value: "MouseScrollEvent", done: false } Object { value: "HTMLLIElement", done: false } Object { value: "EventSource", done: false } Object { value: "IdleDeadline", done: false } Object { value: "AudioDestinationNode", done: false } Object { value: "SVGPathSegLinetoVerticalRel", done: false } Object { value: "AudioParam", done: false } Object { value: "FileSystem", done: false } Object { value: "MediaEncryptedEvent", done: false } Object { value: "CSSCounterStyleRule", done: false } Object { value: "FileSystemEntry", done: false } Object { value: "FileSystemFileEntry", done: false } Object { value: "CacheStorage", done: false } Itérations 17 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "MimeType", done: false } Object { value: "PannerNode", done: false } Object { value: "MutationObserver", done: false } Object { value: "CSSImportRule", done: false } Object { value: "HTMLDetailsElement", done: false } Object { value: "NodeFilter", done: false } Object { value: "SVGAnimatedInteger", done: false } Object { value: "SVGTSpanElement", done: false } Object { value: "MediaStreamTrack", done: false } Object { value: "SVGMarkerElement", done: false } Object { value: "SVGStringList", done: false } Object { value: "GamepadHapticActuator", done: false } Object { value: "SVGTransform", done: false } Object { value: "StereoPannerNode", done: false } Object { value: "SVGPathElement", done: false } Object { value: "MediaError", done: false } Object { value: "HTMLObjectElement", done: false } Object { value: "PopStateEvent", done: false } Object { value: "MediaStreamAudioDestinationNode", done: false } Object { value: "DynamicsCompressorNode", done: false } Object { value: "DeviceProximityEvent", done: false } Object { value: "PaintRequest", done: false } Object { value: "RGBColor", done: false } Object { value: "SVGTitleElement", done: false } Object { value: "HTMLHeadingElement", done: false } Object { value: "XMLHttpRequestEventTarget", done: false } Object { value: "SVGFEBlendElement", done: false } Object { value: "VRDisplayCapabilities", done: false } Object { value: "ClipboardEvent", done: false } Object { value: "FontFaceSet", done: false } Object { value: "SVGFEFuncGElement", done: false } Object { value: "RTCIceCandidate", done: false } Object { value: "OfflineAudioCompletionEvent", done: false } Object { value: "IDBKeyRange", done: false } Object { value: "PaintRequestList", done: false } Object { value: "SVGFEPointLightElement", done: false } Object { value: "XMLDocument", done: false } Object { value: "HTMLTableCaptionElement", done: Itérations 18 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV false } Object { value: "Screen", done: false } Object { value: "NamedNodeMap", done: false } Object { value: "SVGAnimationElement", done: false } Object { value: "SVGAnimateElement", done: false } Object { value: "SVGPolylineElement", done: false } Object { value: "History", done: false } Object { value: "DeviceLightEvent", done: false } Object { value: "SourceBuffer", done: false } Object { value: "SVGDefsElement", done: false } Object { value: "Response", done: false } Object { value: "ServiceWorkerRegistration", done: false } Object { value: "CanvasRenderingContext2D", done: false } Object { value: "IDBVersionChangeEvent", done: false } Object { value: "SVGPathSegList", done: false } Object { value: "SVGAnimatedTransformList", done: false } Object { value: "MediaStreamEvent", done: false } Object { value: "HTMLPreElement", done: false } Object { value: "SVGPathSegClosePath", done: false } Object { value: "ScriptProcessorNode", done: false } Object { value: "FileSystemDirectoryReader", done: false } Object { value: "RTCRtpReceiver", done: false } Object { value: "Selection", done: false } Object { value: "MimeTypeArray", done: false } Object { value: "HTMLAllCollection", done: false } Object { value: "CanvasCaptureMediaStream", done: false } Object { value: "RTCRtpSender", done: false } Object { value: "HTMLSpanElement", done: false } Object { value: "CSSNamespaceRule", done: false } Object { value: "HTMLFrameSetElement", done: false } Object { value: "HTMLFontElement", done: false } Object { value: "Directory", done: false } Object { value: "mozRTCPeerConnection", done: false } Object { value: "BlobEvent", done: false } Object { value: "SVGSwitchElement", done: false } Object { value: "PerformanceObserverEntryList", done: false } Object { value: "SVGViewElement", done: false } Object { value: "SVGUnitTypes", done: false } Itérations 19 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "PushSubscriptionOptions", done: false } Object { value: "HTMLFrameElement", done: false } Object { value: "DOMStringList", done: false } Object { value: "SVGPathSegMovetoAbs", done: false } Object { value: "IntersectionObserverEntry", done: false } Object { value: "SVGSymbolElement", done: false } Object { value: "SVGFEFuncAElement", done: false } Object { value: "WebGLContextEvent", done: false } Object { value: "DOMImplementation", done: false } Object { value: "WheelEvent", done: false } Object { value: "MediaQueryList", done: false } Object { value: "IDBObjectStore", done: false } Object { value: "SubtleCrypto", done: false } Object { value: "WebGL2RenderingContext", done: false } Object { value: "InputEvent", done: false } Object { value: "HashChangeEvent", done: false } Object { value: "Animation", done: false } Object { value: "CSS", done: false } Object { value: "HTMLAnchorElement", done: false } Object { value: "AudioStreamTrack", done: false } Object { value: "DataTransfer", done: false } Object { value: "TreeWalker", done: false } Object { value: "XMLHttpRequest", done: false } Object { value: "VREyeParameters", done: false } Object { value: "SVGAnimatedString", done: false } Object { value: "SVGFEMergeElement", done: false } Object { value: "CSSKeyframesRule", done: false } Object { value: "LocalMediaStream", done: false } Object { value: "ConvolverNode", done: false } Object { value: "SVGPathSegLinetoVerticalAbs", done: false } Object { value: "DeviceOrientationEvent", done: false } Object { value: "WaveShaperNode", done: false } Object { value: "SVGPathSegCurvetoCubicAbs", done: false } Object { value: "HTMLOptGroupElement", done: false } Object { value: "DOMError", done: false } Object { value: "DataTransferItemList", done: false } Object { value: "Request", done: false } Object { value: "HTMLVideoElement", done: false } Object { value: "SourceBufferList", done: false } Itérations 20 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "SVGLength", done: false } Object { value: "SVGTextPathElement", done: false } Object { value: "SVGPolygonElement", done: false } Object { value: "SVGAnimatedRect", done: false } Object { value: "RTCSessionDescription", done: false } Object { value: "MediaKeySystemAccess", done: false } Object { value: "IDBFactory", done: false } Object { value: "XSLTProcessor", done: false } Object { value: "GamepadPose", done: false } Object { value: "SVGPathSegCurvetoCubicRel", done: false } Object { value: "HTMLModElement", done: false } Object { value: "MediaDeviceInfo", done: false } Object { value: "SVGFEFuncRElement", done: false } Object { value: "HTMLHtmlElement", done: false } Object { value: "XMLHttpRequestUpload", done: false } Object { value: "SharedWorker", done: false } Object { value: "WebGLTexture", done: false } Object { value: "SVGLengthList", done: false } Object { value: "Notification", done: false } Object { value: "DOMRectList", done: false } Object { value: "DataTransferItem", done: false } Object { value: "CompositionEvent", done: false } Object { value: "HTMLBodyElement", done: false } Object { value: "AnalyserNode", done: false } Object { value: "MediaKeySession", done: false } Object { value: "SVGFETurbulenceElement", done: false } Object { value: "mozRTCIceCandidate", done: false } Object { value: "PerformanceObserver", done: false } Object { value: "OfflineResourceList", done: false } Object { value: "WebGLRenderingContext", done: false } Object { value: "FileSystemDirectoryEntry", done: false } Object { value: "SVGMatrix", done: false } Object { value: "DesktopNotification", done: false } Object { value: "WebGLVertexArrayObject", done: false } Object { value: "GamepadEvent", done: false } Object { value: "HTMLTableElement", done: false } Object { value: "MediaList", done: false } Object { value: "SVGZoomAndPan", done: false } Object { value: "SVGMetadataElement", done: false } Itérations 21 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "DataChannel", done: false } Object { value: "IIRFilterNode", done: false } Object { value: "IDBCursorWithValue", done: false } Object { value: "ChannelSplitterNode", done: false } Object { value: "KeyEvent", done: false } Object { value: "MediaRecorderErrorEvent", done: false } Object { value: "HTMLButtonElement", done: false } Object { value: "Blob", done: false } Object { value: "File", done: false } Object { value: "ConstantSourceNode", done: false } Object { value: "CryptoKey", done: false } Object { value: "GainNode", done: false } Object { value: "AbortController", done: false } Object { value: "SVGFEDistantLightElement", done: false } Object { value: "Attr", done: false } Object { value: "SpeechSynthesis", done: false } Object { value: "SVGSVGElement", done: false } Object { value: "Gamepad", done: false } Object { value: "HTMLTableRowElement", done: false } Object { value: "PushSubscription", done: false } Object { value: "IDBRequest", done: false } Object { value: "IDBOpenDBRequest", done: false } Object { value: "SVGAnimateMotionElement", done: false } Object { value: "SVGDescElement", done: false } Object { value: "XMLStylesheetProcessingInstruction", done: false } Object { value: "SVGPathSegCurvetoCubicSmoothRel", done: false } Object { value: "NodeIterator", done: false } Object { value: "HTMLAreaElement", done: false } Object { value: "VideoStreamTrack", done: false } Object { value: "SVGFESpecularLightingElement", done: false } Object { value: "HTMLDataElement", done: false } Object { value: "SVGFEGaussianBlurElement", done: false } Object { value: "XMLSerializer", done: false } Object { value: "SVGFEComponentTransferElement", done: false } Object { value: "CaretPosition", done: false } Object { value: "FormData", done: false } Object { value: "SVGNumberList", done: false } Itérations 22 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "SVGTransformList", done: false } Object { value: "WebGLActiveInfo", done: false } Object { value: "SVGForeignObjectElement", done: false } Object { value: "CanvasPattern", done: false } Object { value: "SVGRectElement", done: false } Object { value: "mozRTCSessionDescription", done: false } Object { value: "Path2D", done: false } Object { value: "HTMLParamElement", done: false } Object { value: "SVGFEDisplacementMapElement", done: false } Object { value: "SVGAnimateTransformElement", done: false } Object { value: "ScrollAreaEvent", done: false } Object { value: "HTMLLabelElement", done: false } Object { value: "PerformanceNavigation", done: false } Object { value: "KeyboardEvent", done: false } Object { value: "TransitionEvent", done: false } Object { value: "SVGAnimatedLength", done: false } Object { value: "SVGPointList", done: false } Object { value: "HTMLTemplateElement", done: false } Object { value: "HTMLOptionsCollection", done: false } Object { value: "SVGPatternElement", done: false } Object { value: "ErrorEvent", done: false } Object { value: "URL", done: false } Object { value: "AnimationEvent", done: false } Object { value: "SVGPathSegCurvetoCubicSmoothAbs", done: false } Object { value: "PluginArray", done: false } Object { value: "MutationRecord", done: false } Object { value: "HTMLDivElement", done: false } Object { value: "CSSValueList", done: false } Object { value: "WebKitCSSMatrix", done: false } Object { value: "HTMLIFrameElement", done: false } Object { value: "PeriodicWave", done: false } Object { value: "MediaKeyMessageEvent", done: false } Object { value: "SVGCircleElement", done: false } Object { value: "WebGLTransformFeedback", done: false } Object { value: "DocumentFragment", done: false } Object { value: "DOMCursor", done: false } Object { value: "WebGLSync", done: false } Itérations 23 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV Object { value: "FontFaceSetLoadEvent", done: false } Object { value: "IDBIndex", done: false } Object { value: "SVGSetElement", done: false } Object { value: "ScreenOrientation", done: false } Object { value: "BroadcastChannel", done: false } Object { value: "PermissionStatus", done: false } Object { value: "IntersectionObserver", done: false } Object { value: "SVGFETileElement", done: false } Object { value: "HTMLTitleElement", done: false } Object { value: "SVGMPathElement", done: false } Object { value: "MessagePort", done: false } Object { value: "HTMLMapElement", done: false } Object { value: "SVGFEMergeNodeElement", done: false } Object { value: "BarProp", done: false } Object { value: "VRPose", done: false } Object { value: "SVGPathSegCurvetoQuadraticRel", done: false } Object { value: "OscillatorNode", done: false } Object { value: "Cache", done: false } Object { value: "HTMLOutputElement", done: false } Object { value: "HTMLDListElement", done: false } Object { value: "HTMLParagraphElement", done: false } Object { value: "IDBDatabase", done: false } Object { value: "RadioNodeList", done: false } Object { value: "AudioProcessingEvent", done: false } Object { value: "WebGLBuffer", done: false } Object { value: "HTMLHRElement", done: false } */ console.log("==========") console.log("TENTATIVE D'éNUMéRER PLUS QU'IL EN EXISTE") console.log(iterator.next()) console.log(iterator.next()) /* Object { value: undefined, done: true } Object { value: undefined, done: true } */ console.log("=====") Itérations 24 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV console.log("CES MéMES CLéS AVEC ITéRATEUR, MAIS SEULEMENT LEURS value") const win_ownPropertyNames2 = Object.getOwnPropertyNames(window); let iterator2 = win_ownPropertyNames2[Symbol.iterator](); // Pour extraire seulement un élément de l'objet qui est le // RéSULTAT D'ITéRATION, il suffit de le spécifier avec // un point suivi du nom de la clé de cet élément. // for(let key in win_ownPropertyNames2)console.log(iterator2.next().va lue) /* undefined InstallTrigger Function Object eval EventTarget Window close stop focus blur open alert confirm prompt print postMessage captureEvents releaseEvents getSelection getComputedStyle matchMedia moveTo moveBy resizeTo resizeBy scroll Itérations 25 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu scrollTo scrollBy requestAnimationFrame cancelAnimationFrame getDefaultComputedStyle scrollByLines scrollByPages sizeToContent updateCommands find dump setResizable requestIdleCallback cancelIdleCallback btoa atob setTimeout clearTimeout setInterval clearInterval createImageBitmap fetch self name history locationbar menubar personalbar scrollbars statusbar toolbar status closed frames length opener parent frameElement navigator external applicationCache screen innerWidth innerHeight scrollX Itérations 26 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu pageXOffset scrollY pageYOffset screenX screenY outerWidth outerHeight performance mozInnerScreenX mozInnerScreenY devicePixelRatio scrollMaxX scrollMaxY fullScreen mozPaintCount ondevicemotion ondeviceorientation onabsolutedeviceorientation ondeviceproximity onuserproximity ondevicelight content sidebar onvrdisplayconnect onvrdisplaydisconnect onvrdisplayactivate onvrdisplaydeactivate onvrdisplaypresentchange crypto onabort onblur onfocus onauxclick oncanplay oncanplaythrough onchange onclick onclose oncontextmenu ondblclick ondrag ondragend ondragenter ondragexit ondragleave Itérations 27 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu ondragover ondragstart ondrop ondurationchange onemptied onended oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadend onloadstart onmousedown onmouseenter onmouseleave onmousemove onmouseout onmouseover onmouseup onwheel onpause onplay onplaying onprogress onratechange onreset onresize onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate onvolumechange onwaiting onselectstart ontoggle onmozfullscreenchange Itérations 28 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu onmozfullscreenerror onanimationcancel onanimationend onanimationiteration onanimationstart ontransitioncancel ontransitionend ontransitionrun ontransitionstart onwebkitanimationend onwebkitanimationiteration onwebkitanimationstart onwebkittransitionend onerror speechSynthesis onafterprint onbeforeprint onbeforeunload onhashchange onlanguagechange onmessage onmessageerror onoffline ononline onpagehide onpageshow onpopstate onstorage onunload localStorage origin isSecureContext indexedDB caches sessionStorage window document location top netscape Node Document HTMLDocument Performance Event Itérations 29 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu Location StyleSheetList Element HTMLElement HTMLScriptElement console Array Boolean JSON Date Math isNaN isFinite parseInt parseFloat NaN Infinity Number escape unescape uneval decodeURI encodeURI decodeURIComponent encodeURIComponent String RegExp Error InternalError EvalError RangeError ReferenceError SyntaxError TypeError URIError StopIteration ArrayBuffer Int8Array Uint8Array Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Itérations 30 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu Uint8ClampedArray Proxy WeakMap Map Set DataView Symbol SharedArrayBuffer Intl Reflect WeakSet Atomics Promise WebAssembly CSSRule CSSStyleRule HTMLTimeElement SpeechSynthesisEvent SpeechSynthesisErrorEvent BatteryManager BaseAudioContext AudioContext CanvasGradient HTMLPictureElement HTMLMenuItemElement DOMStringMap HTMLFormElement BeforeUnloadEvent CSSFontFaceRule CSSValue CSSPrimitiveValue HTMLOptionElement Option WebGLShader TextDecoder MediaKeys HTMLCanvasElement CSSStyleDeclaration HTMLTableSectionElement RTCDTMFSender Plugin AudioBuffer HTMLSelectElement CustomEvent PageTransitionEvent Itérations 31 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV SVGPoint PushManager AudioNode ChannelMergerNode SVGElement SVGGraphicsElement SVGEllipseElement StyleSheet CSSStyleSheet RTCStatsReport SVGGradientElement SVGRadialGradientElement PerformanceEntry PerformanceResourceTiming PopupBlockedEvent SVGComponentTransferFunctionElement CSSPageRule SVGPathSeg SVGPathSegCurvetoQuadraticAbs MediaKeyError VRStageParameters CloseEvent SVGPathSegCurvetoQuadraticSmoothRel RTCTrackEvent ServiceWorker SVGFEColorMatrixElement HTMLUListElement ProgressEvent MutationEvent MessageEvent TextTrackCueList UIEvent FocusEvent SVGPathSegLinetoHorizontalAbs TextTrackList DOMRectReadOnly HTMLMetaElement DOMException PerformanceMeasure DesktopNotificationCenter CharacterData Comment DelayNode SVGAnimatedNumberList MediaSource Itérations 32 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu SVGLinearGradientElement WebGLShaderPrecisionFormat SVGStyleElement Text CDATASection HTMLLinkElement MessageChannel HTMLBaseElement DOMRequest IDBFileRequest HTMLDataListElement VRFrameData HTMLInputElement SVGPathSegMovetoRel TrackEvent HTMLMeterElement DeviceMotionEvent SVGStopElement BiquadFilterNode MediaDevices DOMRect CSSGroupingRule CSSConditionRule CSSSupportsRule CSSMozDocumentRule SVGPathSegLinetoRel SVGFEConvolveMatrixElement HTMLSourceElement SpeechSynthesisUtterance Crypto Navigator FileList HTMLTrackElement WebGLQuery AudioScheduledSourceNode AudioBufferSourceNode SVGLineElement WebGLRenderbuffer SVGAnimatedAngle CSSKeyframeRule HTMLTableColElement DOMMatrixReadOnly DOMMatrix HTMLFieldSetElement WebGLSampler Itérations 33 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu URLSearchParams WebGLUniformLocation ServiceWorkerContainer SVGPathSegLinetoAbs ValidityState DOMPointReadOnly ProcessingInstruction SVGPreserveAspectRatio SVGFEOffsetElement AbortSignal SVGFEImageElement TimeEvent FontFace FileReader SVGFEDiffuseLightingElement Worker External HTMLMediaElement HTMLAudioElement Audio IDBTransaction ImageBitmap MediaElementAudioSourceNode RTCDataChannelEvent TimeRanges TextTrack SVGAnimatedNumber HTMLImageElement Image SVGTextContentElement SVGTextPositioningElement SVGTextElement DOMPoint HTMLDirectoryElement SVGFESpotLightElement VRDisplay SVGFEMorphologyElement IDBCursor SVGAngle VideoPlaybackQuality NodeList HTMLTableCellElement TextTrackCue VTTCue XPathResult Itérations 34 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV SVGScriptElement HTMLStyleElement Storage XPathExpression SVGFEDropShadowElement DOMQuad SVGPathSegArcRel TextMetrics AudioListener MediaKeyStatusMap RTCPeerConnectionIceEvent MediaStreamTrackEvent HTMLLegendElement PerformanceTiming SVGNumber CSS2Properties MediaRecorder SVGGeometryElement PerformanceMark ImageBitmapRenderingContext SVGPathSegLinetoHorizontalRel SVGFEFuncBElement CSSFontFeatureValuesRule UserProximityEvent MediaQueryListEvent RTCCertificate Headers SVGClipPathElement IDBFileHandle StorageEvent CSSRuleList Range SVGUseElement Rect HTMLOListElement SVGPathSegArcAbs SVGPathSegCurvetoQuadraticSmoothAbs SVGRect RTCDTMFToneChangeEvent IDBMutableFile SVGAnimatedPreserveAspectRatio HTMLEmbedElement CSSMediaRule SVGImageElement MediaStream Itérations 35 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu SVGGElement WebGLFramebuffer RTCPeerConnection HTMLTextAreaElement Permissions TextEncoder VRDisplayEvent SVGAnimatedEnumeration SVGAnimatedLengthList MediaStreamAudioSourceNode ImageData SVGFEFloodElement SpeechSynthesisVoice HTMLQuoteElement DOMParser StorageManager WebGLProgram DOMTokenList SVGFECompositeElement OfflineAudioContext HTMLMenuElement WebSocket DocumentType HTMLHeadElement SVGAElement SVGAnimatedBoolean SVGMaskElement HTMLUnknownElement HTMLBRElement GamepadButton HTMLProgressElement SVGFilterElement HTMLCollection HTMLFormControlsCollection XPathEvaluator MouseEvent DragEvent VRFieldOfView MouseScrollEvent HTMLLIElement EventSource IdleDeadline AudioDestinationNode SVGPathSegLinetoVerticalRel AudioParam Itérations 36 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu FileSystem MediaEncryptedEvent CSSCounterStyleRule FileSystemEntry FileSystemFileEntry CacheStorage MimeType PannerNode MutationObserver CSSImportRule HTMLDetailsElement NodeFilter SVGAnimatedInteger SVGTSpanElement MediaStreamTrack SVGMarkerElement SVGStringList GamepadHapticActuator SVGTransform StereoPannerNode SVGPathElement MediaError HTMLObjectElement PopStateEvent MediaStreamAudioDestinationNode DynamicsCompressorNode DeviceProximityEvent PaintRequest RGBColor SVGTitleElement HTMLHeadingElement XMLHttpRequestEventTarget SVGFEBlendElement VRDisplayCapabilities ClipboardEvent FontFaceSet SVGFEFuncGElement RTCIceCandidate OfflineAudioCompletionEvent IDBKeyRange PaintRequestList SVGFEPointLightElement XMLDocument HTMLTableCaptionElement Screen Itérations 37 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu NamedNodeMap SVGAnimationElement SVGAnimateElement SVGPolylineElement History DeviceLightEvent SourceBuffer SVGDefsElement Response ServiceWorkerRegistration CanvasRenderingContext2D IDBVersionChangeEvent SVGPathSegList SVGAnimatedTransformList MediaStreamEvent HTMLPreElement SVGPathSegClosePath ScriptProcessorNode FileSystemDirectoryReader RTCRtpReceiver Selection MimeTypeArray HTMLAllCollection CanvasCaptureMediaStream RTCRtpSender HTMLSpanElement CSSNamespaceRule HTMLFrameSetElement HTMLFontElement Directory mozRTCPeerConnection BlobEvent SVGSwitchElement PerformanceObserverEntryList SVGViewElement SVGUnitTypes PushSubscriptionOptions HTMLFrameElement DOMStringList SVGPathSegMovetoAbs IntersectionObserverEntry SVGSymbolElement SVGFEFuncAElement WebGLContextEvent DOMImplementation Itérations 38 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu WheelEvent MediaQueryList IDBObjectStore SubtleCrypto WebGL2RenderingContext InputEvent HashChangeEvent Animation CSS HTMLAnchorElement AudioStreamTrack DataTransfer TreeWalker XMLHttpRequest VREyeParameters SVGAnimatedString SVGFEMergeElement CSSKeyframesRule LocalMediaStream ConvolverNode SVGPathSegLinetoVerticalAbs DeviceOrientationEvent WaveShaperNode SVGPathSegCurvetoCubicAbs HTMLOptGroupElement DOMError DataTransferItemList Request HTMLVideoElement SourceBufferList SVGLength SVGTextPathElement SVGPolygonElement SVGAnimatedRect RTCSessionDescription MediaKeySystemAccess IDBFactory XSLTProcessor GamepadPose SVGPathSegCurvetoCubicRel HTMLModElement MediaDeviceInfo SVGFEFuncRElement HTMLHtmlElement XMLHttpRequestUpload Itérations 39 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu SharedWorker WebGLTexture SVGLengthList Notification DOMRectList DataTransferItem CompositionEvent HTMLBodyElement AnalyserNode MediaKeySession SVGFETurbulenceElement mozRTCIceCandidate PerformanceObserver OfflineResourceList WebGLRenderingContext FileSystemDirectoryEntry SVGMatrix DesktopNotification WebGLVertexArrayObject GamepadEvent HTMLTableElement MediaList SVGZoomAndPan SVGMetadataElement DataChannel IIRFilterNode IDBCursorWithValue ChannelSplitterNode KeyEvent MediaRecorderErrorEvent HTMLButtonElement Blob File ConstantSourceNode CryptoKey GainNode AbortController SVGFEDistantLightElement Attr SpeechSynthesis SVGSVGElement Gamepad HTMLTableRowElement PushSubscription IDBRequest Itérations 40 / 44 JavaScript Tome-IV mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV IDBOpenDBRequest SVGAnimateMotionElement SVGDescElement XMLStylesheetProcessingInstruction SVGPathSegCurvetoCubicSmoothRel NodeIterator HTMLAreaElement VideoStreamTrack SVGFESpecularLightingElement HTMLDataElement SVGFEGaussianBlurElement XMLSerializer SVGFEComponentTransferElement CaretPosition FormData SVGNumberList SVGTransformList WebGLActiveInfo SVGForeignObjectElement CanvasPattern SVGRectElement mozRTCSessionDescription Path2D HTMLParamElement SVGFEDisplacementMapElement SVGAnimateTransformElement ScrollAreaEvent HTMLLabelElement PerformanceNavigation KeyboardEvent TransitionEvent SVGAnimatedLength SVGPointList HTMLTemplateElement HTMLOptionsCollection SVGPatternElement ErrorEvent URL AnimationEvent SVGPathSegCurvetoCubicSmoothAbs PluginArray MutationRecord HTMLDivElement CSSValueList WebKitCSSMatrix Itérations 41 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu HTMLIFrameElement PeriodicWave MediaKeyMessageEvent SVGCircleElement WebGLTransformFeedback DocumentFragment DOMCursor WebGLSync FontFaceSetLoadEvent IDBIndex SVGSetElement ScreenOrientation BroadcastChannel PermissionStatus IntersectionObserver SVGFETileElement HTMLTitleElement SVGMPathElement MessagePort HTMLMapElement SVGFEMergeNodeElement BarProp VRPose SVGPathSegCurvetoQuadraticRel OscillatorNode Cache HTMLOutputElement HTMLDListElement HTMLParagraphElement IDBDatabase RadioNodeList AudioProcessingEvent WebGLBuffer HTMLHRElement */ </script> JavaScript Tome-IV Mots-clés : Itération, ITERATEUR, object retourné, Symbol.iterator, itérable, next, listage, propriété, enumerable, for...in, itérable, Itération Synchrone Itérations 42 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV mardi, 2. octobre 2018 (11:57 ). Itérations 43 / 44 mardi, 2. octobre 2018 J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-IV DIASOLUKA Nz. Luyalu Docteur en Médecine, Chirurgie & Accouchements (1977), CNOM : 0866 - Spécialiste en ophtalmologie (1980) Informaticien-amateur, Programmeur et WebMaster. Chercheur indépendant, autonome et autofinancé, bénévole, sans aucun conflit d’intérêt ou liens d'intérêts ou contrainte promotionnelle avec qui qu’il soit ou quelqu’organisme ou institution / organisation que ce soit, étatique, paraétatique ou privé. +243 - 851278216 - 899508675 - 995624714 - 902263541 - 813572818 [email protected] Itérations 44 / 44 mardi, 2. octobre 2018