const arr = [1, 2];
console.log(arr.push(arr.push(4), arr));
// 输出?
解
输出:3
arr.push(4)会把4添加到arr末尾并返回数组新的长度3;- 接着执行
arr.push(arr.push(4), arr),相当于arr.push(3, arr),即把数字3和数组自身arr作为两个元素追加到末尾; - 最终数组变成
[1, 2, 4, 3, arr],对arr自身产生了循环引用,序列化时会形成环。



