1.按值传递, 是个copy,内部不会影响外部。
const a = { index: 1 };
function foo(obj) {
obj.index = 2;
}
foo(a);
console.log(a.index); // 1
2.按引用传递, 变量对象的指针都给了它。
const a = { index: 1 };
function foo(obj) {
obj = { a: 2};
}
foo(a);
console.log(a); // { a: 2 }
3. 按照共享传递,引用地址的拷贝,共用了一个构造函数。所以对属性赋值会修改原对象,但是设置新值不会修改原对象的值。
const a = { index: 1 };
function foo(obj) {
obj = { a: 2};
}
foo(a);
console.log(a); // { a: 2 }
const a = { index: 1 };
function foo(obj) {
obj.index = 2;
}
foo(a);
console.log(a); // { index: 2 }
js求值策略
最新推荐文章于 2024-02-11 20:01:12 发布