按值传递,传的是参数指定的数据,不管如何改变,都不会影响原来的值

        function f1(arge)
        {
            arge=100
        }
        let a=5
        f1(a)
        console.log(a)
//a的值不变

按引用传递,传的是地址,数值是可以被修改

       function f2(arge)
        {
            arge.name="华盛顿"
        }
        let stu1={
            name:"杰斐逊",
            age:8,
            sex:"男"
        }
        f2(stu1)
        console.log(stu1.name)

上面代码输出结果是华盛顿

还有一种情形是把数组作为参数传递,也是引用传递

       function f3(arge)
        {
            arge[0]=120
        }
        let arr=[1,2,3,4,5]
        f3(arr)
        console.log(arr)

arr[0]的值变为120了

更多推荐