God*_*her 3 javascript parameter-passing pass-by-reference
如您所知,在 javascript 中,对象和数组是通过引用发送的,如果我们得到如下内容:
const obj=[{room:5},{room:35},{room:25},{room:15}];
static test(obj)
{
for (let i=0;i<obj.length;i++)
{
obj[i].room++;
}
return obj;
}
return {ok:true,D:obj,R:this.test(obj)};
Run Code Online (Sandbox Code Playgroud)
那么第一个对象值会在调用 test 后发生变化,问题是如何防止通过引用传递对象及其修改!??!
您可以使用对象或数组的副本:
目的
const copy = JSON.parse(JSON.stringify(obj))
Run Code Online (Sandbox Code Playgroud)
大批
const copy = array.slice(0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1086 次 |
| 最近记录: |