日期:2014-05-16  浏览次数:20302 次

javascript数组赋值
最近写程序发现,JavaScript数组赋值时是采用的引用赋值,那我如果不想原数组的值被改变应该怎么办?

------解决方案--------------------
简单点的方法就是这样

JScript code

    Array.prototype.clone = function(){
        var tmp = [];
        for(var i = 0, len = this.length; i < len; i++){
            tmp.push(this[i]);
        }
        return tmp;    
    }
    var a = [1,2,3];
    var b = a.clone();
    a.push(4);
    alert(a);
    alert(b);

------解决方案--------------------
最笨的方法
<script type="text/javascript">
var a=[1,2,3,4];
var b=[];
for(var i=0;i<a.length;i++){
b[i]=a[i];
}
b.push(10);
alert(a);
alert(b);
</script>
------解决方案--------------------
如果连数组元素都不能使用引用,那就需要进行深层的复制