javascript 数组splice方法

            function not(q, w) {
                var qq = [];
                for (var q = 0; q < qq.length; q++) {
                    qq.push(q[q]);
                }
                var ww = [];
                for (var w = 0; w < ww.length; w++) {
                    ww.push(w[w]);
                }
                for (var j = 0; j < qq.length; j++) {
                    for (var s = 0; s < ww.length; s++) {
                        if (qq[j] == ww[s]) {
                            qq.splice(j, 1);
                        }
                    }
                }
                return qq;
            }

当传入一个数组的时候,运行splice方法会影响到方法外的数组对象,浅复制(好像是?)了传入的数组还是会影响到外面的数组(自由变量) 深复制(好像是?)把传入的数组重新遍历以下,让其指针(好像是?)变为方法外是一个,方法里即复制后的数组是一个,就不会影响到外面的数组了

原文地址:https://www.cnblogs.com/strangerqt/p/2624125.html