JS变量复制和参数传递

    xiaoxiao2021-03-25  152

    5种基本数据类型,按值访问 引用类型:object、Array、function、date

    一、变量复制: 1.复制基本类型值时,会创建新值并复制到新变量分配的位置。

    var num1=5; var num2=num1; num2=4; alert(num1);// 输出5

    两个变量相互操作没有任何影响。 2.复制引用类型时,复制的值是一个指针,指向同一个对象。

    var obj1=new Object(); var obj2=obj1; obj1.name="Jack"; alert(obj2.name);//输出"jack"

    二、传递参数: 传递的都是值 1.传递基本类型:被传递的值会复制给一个局部变量

    obj.name="Jack"; } var person=new Object(); setName(person); alert(person.name);//"Jack"

    2.传递引用类型:会把这个值在内存中的地址复制给一个局部变量

    function setName(obj){ obj.name="Jack"; obj=new Object();//相当于引用了一个新的局部变量 obj.name="Greg"; } var person=new Object(); setName(person); alert(person.name);//依旧是"Jack"

    这里如果person是按引用传递的话,那么最后应该输出”Greg”;说明虽然函数内部修改了参数的值,但原始引用依旧未变。

    转载请注明原文地址: https://ju.6miu.com/read-4514.html

    最新回复(0)