在JavaScript函数之后保留原始数组

这个问题在这里已经有了答案:

  • JavaScript是传递引​​用还是传值语言? 29个答案

  • 你应该在你的函数中克隆(创建一个你的数组的副本)

    function bake_goods(my_pizza, my_pie){
        var innerPizza = my_pizza.slice(0);
        console.log(innerPizza);
        console.log(my_pie);
    
        delete innerPizza ['1'];
        my_pie = "peach";
    
        console.log(innerPizza );
        console.log(my_pie);
    }
    

    数组和对象作为指向原始对象的指针传递。 如果您不想修改原稿,则需要先复印一份。

    function bake_goods(my_pizza, my_pie) {
        my_pizza = my_pizza.slice(0);
        delete my_pizza[1];
    }
    

    “披萨”数组更改是因为该函数显然是按引用调用的。 该函数通过内存中的相同位置操作参数,以便函数外部的变量被初始化。您可以通过创建my_pizza数组及其元素的副本并使用它来避免这些不需要的更改。

    链接地址: http://www.djcxy.com/p/20807.html

    上一篇: Keep original array after JavaScript function

    下一篇: swap() function for variables's values