我很好奇它如何运作这种结构。当我从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数组,而是具有类似Array属性的对象,您可以按索引或名称访问其属性。
编辑:当您使用navigator.mimeTypes['someType']
时,您将MimeTypeArray
视为哈希图,它已将someType
映射到数组中的MimeType
对象,该对象还具有与type
值相同的属性。键。这是DOM中的一个奇怪对象(从技术上讲不是JavaScript),通常不会看到很多这样的对象。
关于javascript - navigator.mimeTypes结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13934287/