Structure navigator.mimeTypes

Je suis curieux de savoir comment fonctionne cette structure. Lorsque je suis en train d'accéder au navigator.mimetypes de Javascript, je suis en train d'accéder à un objet.

>>> typeof(navigator.mimeTypes) "object" 

Cet objet comporte une liste d'objets.

Navigator.mimeTypes [Object_0, Object_1, Object_2, …]

 >>> typeof(navigator.mimeTypes[0]) "object" 

Par exemple, je peux récupérer le premier objet:

Navigator.mimeTypes [0]

 MimeType { constructor=MimeType, enabledPlugin=Plugin, type="application/x-vnd.google.update3webcontrol.3"} 

Quelqu'un peut-il m'expliquer pourquoi cela fonctionne?

 >>> navigator.mimeTypes["application/x-shockwave-flash"] MimeType { constructor=MimeType, type="application/x-shockwave-flash", description="",more...} 

Je veux dire pourquoi je peux trouver l'objet spécifié au moyen de ["application / x-shockwave-flash"] ??

Javascript sera un nouveau monde pour moi 🙂

MimeTypeArray renvoie un objet appelé MimeTypeArray il ne s'agit pas d'un tableau JavaScript traditionnel, mais d'un objet ayant des propriétés Array, vous pouvez accéder à ses propriétés par index ou par nom.

Edit: Lorsque vous utilisez navigator.mimeTypes['someType'] vous MimeTypeArray le MimeTypeArray comme une carte de hash, qui a un someType mappé sur un objet MimeType dans le tableau qui possède également une propriété de type de la même valeur que la clé. C'est un objet étrange dans le DOM (pas techniquement JavaScript) et vous ne voyez généralement pas beaucoup d'objets comme celui-ci.

 function GetMimeTypes() { var message = ""; // Internet Explorer supports the mimeTypes collection, but it is always empty if (navigator.mimeTypes && navigator.mimeTypes.length > 0) { var mimes = navigator.mimeTypes; for (var i=0; i < mimes.length; i++) { message += "<b>" + mimes[i].type + "</b> : " + mimes[i].description + "<br />"; } } else { message = "Your browser does not support this example!"; } var info = document.getElementById ("login_info"); info.innerHTML = message; } GetMimeTypes();