javascript - navigator.mimeTypes 结构

标签 javascript

我很好奇它是如何运作这个结构的。当我从 Javascript 访问 navigator.mimetypes 时,我正在访问一个对象。

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

该对象有对象列表。

navigator.mimeTypes[Object_0, Object_1, Object_2, ...]

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

例如,我可以检索第一个对象:

navigator.mimeTypes[0]

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

任何人都可以向我解释为什么这是有效的吗?

>>> navigator.mimeTypes["application/x-shockwave-flash"]

MimeType { constructor=MimeType, type="application/x-shockwave-flash", description="",more...}

我的意思是为什么我可以通过 ["application/x-shockwave-flash"] 找到指定的对象??

javascript 对我来说将是一个新世界:)

最佳答案

navigator.mimeTypes 返回一个名为 MimeTypeArray 的对象,它不是传统的 JavaScript 数组,而是一个具有类似数组属性的对象,您可以通过索引或名称访问它的属性.

编辑:当您使用 navigator.mimeTypes['someType'] 时,您将 MimeTypeArray 视为具有 someType 映射到数组中的 MimeType 对象,该对象还具有与键值相同的 type 属性。这是 DOM(技术上不是 JavaScript)中的一个奇怪对象,您通常不会看到很多这样的对象。

关于javascript - navigator.mimeTypes 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13934287/

相关文章:

javascript - 下拉菜单的问题

javascript - 闭包——为什么这一行代码是这样的?

javascript - 按向上箭头时防止文本输入中的默认行为

javascript - 当字符串包含单引号时使用js替换XSL变量的值

Javascript 表单验证不起作用

javascript - Bundler & Minifier 因使用严格而失败

javascript - 如何确定对象中的任何数组是否有条目

javascript - 自定义 swal 按钮未触发其特定功能

javascript - 如何在 node.js 中通过 XPath 更改带有 xmldom 的 DOM?

javascript - Spring,Thymeleaf - 更改颜色文本