1 /**
2 * 参数:arr.push(element1, ..., elementN)
3 * 作用:被添加到数组末尾的元素。
4 * 当调用该方法时,新的 length 属性值将被返回。
5 * 描述:push 方法有意具有通用性。
6 * 该方法和 call() 或 apply() 一起使用时,可应用在类似数组的对象上。
7 * push 方法根据 length 属性来决定从哪里开始插入给定的值。如果 length 不能被转成一个数值,则插入的元素索引为 0,包括 length 不存在时。
8 * 当 length 不存在时,将会创建它。
9 */
10
11 var a = [1, 3, 5, 5, 7, 8, 9];
12 var b = ['34', '25'];
13
14 // 返回新数组长度
15 var c = a.push('1', '2', '3');
16 console.log('新数组长度:', c, 'push的新数组:', a)
17
18 // 和apply一起使用,则两个数组合并
19 var d = Array.prototype.push.apply(a, b);
20 console.log(d, a)
21
22
23 // 像数组一样使用对象
24 var obj = {
25 length: 0,
26 addElem: function addElem (elem) {
27 [].push.call(this, elem);
28 }
29 };
30 obj.addElem({});
31 obj.addElem({});
32 console.log(obj.length);