我很好奇它如何运作这种结构。当我从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/

10-11 14:17