Open weijiyang opened 4 years ago
push方法将值追加到数组中。 push 方法有意具有通用性。该方法和 call() 或 apply() 一起使用时,可应用在类似数组的对象。push 方法根据 length 属性来决定从哪里开始插入给定的值。如果 length 不能被转成一个数值,则插入的元素索引为 0,包括 length 不存在时。当 length 不存在时,将会创建它。 唯一的原生类数组(array-like)对象是 Strings,尽管如此,它们并不适用该方法,因为字符串是不可改变的。
push方法将值追加到数组中。
push 方法有意具有通用性。该方法和 call() 或 apply() 一起使用时,可应用在类似数组的对象。push 方法根据 length 属性来决定从哪里开始插入给定的值。如果 length 不能被转成一个数值,则插入的元素索引为 0,包括 length 不存在时。当 length 不存在时,将会创建它。
唯一的原生类数组(array-like)对象是 Strings,尽管如此,它们并不适用该方法,因为字符串是不可改变的。
包含splice方法
push每次调用都会给length+1 而会对对应arr[length]进行复制 如下图
当只有length splice同时存在的时候对象才会转换为伪数组 当使用push的时候 如果没有length 会生成length属性赋值1 (如果有splice变成伪数组) 有length会+1 并对 arr[length] 进行 赋值
包含splice方法![image](https://user-images.githubusercontent.com/23150533/71772769-df356700-2f8b-11ea-94ab-683b76e5dbec.png)