我玩过javascript,就是这样:
> var obj = new Object();
> obj
{}
> obj.x = 0;
0
> function change_x(o) { o.x = o.x + 1; }
> change_x(obj);
> obj
{ x: 1 }
> function change_obj(o) { o = null; }
> change_obj(obj);
> obj
{ x: 1 }
function change_obj_x(o) { console.log(o); o.x = o.x + 1; o = null; console.log(o); }
> change_x(obj)
> change_obj_x(obj);
{ x: 2 }
null
> obj
{ x: 3 }
当我传递obj
给 时change_x
,它对 obj 本身进行了更改,但是当我尝试obj null
通过将其传递给 时change_obj
,它并没有更改 obj。也change_obj_x
没有我所期望的。
请解释一下并给我一些链接以了解有关功能的所有信息。