【问题标题】:Reference data type passing in function in Javascript在 Javascript 中传入函数的引用数据类型
【发布时间】:2019-06-03 12:37:53
【问题描述】:

我有一个关于在 Javascript 中传递参数的问题,据我所知,对于原始数据类型,在传递函数时,它们会按值复制。

参考数据类型怎么样?

作为示例,请参见以下代码:

var person3 = new Object();
setName(person3);
console.log(person3)
function setName(obj){
  obj.Name = "remon"
}

对于谁说它是重复的,并不是因为我是从记忆的角度来问这个问题,而且我是学习编程的新手,而且这些问题的答案对我来说太先进了。

【问题讨论】:

标签: javascript


【解决方案1】:

@MinaShaker 好吧,您的实验表明,它是通过引用复制的。我们在控制台中看到 {Name: 'remon'}。

var person3 = new Object();
setName(person3);
console.log(person3)
function setName(obj){
  obj.Name = "remon"
}

在这里,如果我们在将对象发送到函数之前“复制”它,我们将得到 {Name: 'simon'}

var person3 = { Name: "simon" };
setName(Object.assign({}, person3));
console.log(person3)
function setName(obj){
  obj.Name = "remon"
}

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 2018-08-13
    • 2022-07-16
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多