这个Javascript正在创建什么样的对象
What kinds of objects is this Javascript creating?
我正在争先恐后地修复生产错误,但我不是JS开发人员。在我的分析可以进一步之前,我需要绝对确信我对以下代码行做出了一些正确的假设:
var iVO = {
"images":{}
};
var thisImage = $(this).data("data");
iVO["images"][thisImage.fileKey] = thisImage;
iVO["images"][thisImage.imageType] = imageType;
iVO["images"][thisImage.uploadReason] = uploadReason;
这是我的假设。如果有任何正确或误导,请纠正我:
-
iVO
是一个 JSON 对象的数组 - 然后这些JSON对象中的每一个都被赋予3个属性(
fileKey
,imageType
和uploadReason
)。
我不明白的是"images"
指数的意义,iVO["images"]
的价值/意义是什么?这个第一个/外部数组的信息/对象代表什么?
iVO
是一个对象文字。它的功能类似于哈希。
iVO["images"]
看起来像数组访问,但在这种情况下,代码正在访问 iVO
上的 images
属性。 最后,它返回images
指向的内容,即{}
,另一个对象文字。
var thisImage = $(this).data("data")
正在使用jquery函数。 jQuery.data 的文档在这里。 thisImage
是对从调用 data
返回的数据的引用
iVO["images"][thisImage.fileKey] = thisImage;
只是设置一个值。 第一个访问是访问 iVO
上的 images
属性,这是一个对象文字。 从该对象文字中,代码为属性分配thisImage.fileKey
(不管是什么,它来自上一行的数据调用)thisImage
的值。
所以,当你说
iVO 是一个 JSON 对象的数组
iVO
是单个对象文本,在 images
属性下包含另一个对象文本。
该对象文本中填充了 3 个值。 键(属性的名称)取决于data
调用返回的内容。 这些值取决于thisImage
(数据调用的结果)和变量 imageType
和 uploadReason
。
可以使用调试器单步执行此代码,并查看每个步骤的值。
注意 JSON 在这里没有发挥作用。 从 json.org,"JSON是一种完全独立于语言的文本格式......"
iVO
是一个对象。 此对象具有一个名为 images
的属性,该属性本身也是一个对象。 该对象有 3 个属性,其名称包含在 thisImage
中,我无法根据发布的代码确定其内容。
回答你的最后一个问题,iVO["images"]
相当于iVO.images
。 它是iVO
的images
属性。
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 这个Javascript正在创建什么样的对象
- jQuery选择器返回什么样的对象
- JS -它是什么样的对象,我如何访问它