Skip to content

类数组处理 #593

Description

@wjc7jx

我使用Chrome打印为

{
    "2": 1,
    "3": 2,
    "length": 4
}

分析:

  1. push 方法的行为:
    Array.prototype.push 方法根据对象的 length 属性决定插入位置。调用 push 时,元素会被添加到索引 length 处,并将 length 加 1。
  2. 第一次 push(1):
    初始 length 为 2,元素 1 被添加到索引 2,覆盖原值 3。
    length 变为 3。
  3. 第二次 push(2):
    当前 length 为 3,元素 2 被添加到索引 3,覆盖原值 4。
    length 变为 4。
  4. 类数组的显示优化:
    对象包含 splice 方法和 length 属性,控制台(如 Chrome)会将其视为类数组,优先显示索引属性,隐藏非数字键(如 push 和 splice 方法)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions