js函数传参是值传递引用传递问题

来源:互联网 发布:金蝶是什么软件 编辑:程序博客网 时间:2024/05/21 17:39

用两种说法:

  1. 都是值传递(基本/地址值)传递
  2. 可能是值传递,也可能是引用传递(地址值)

    例子:

var a={name:1,age:12};function fn(obj){    obj={age:15}}fn(a);console.log(a.age);//a=12

内存图

实现描述

简单地说就是实参跟形参其实是两个变量,例如:
var a=12, b;
b=a;
b=15;

把a当成实参,b当成形参。
此时的a,当把值传个b的时候,无论b怎样改变都不会影响a的储存值;

另外一个例子:

var a=3;function fn(a){    a=a+2;}fn(a);console.log(a);//a=3
原创粉丝点击