繁体   English   中英

带参数的调用函数与带其他参数的返回值的调用函数有什么区别

[英]what is different between call function with parameters and call function with return value of other parameters

如果我有这样的功能

function cloneObj( obj ) {
    return JSON.parse( JSON.stringify( obj ) );
}



function test( obj ) {
    console.log(obj);
}

var x = {1:2};

通过这种方式调用函数之间有什么不同

 test(cloneObj(x)); 

或通过这种方式调用此函数

var y = cloneObj(x); 
test(y);

完全没有区别,除了在第二个示例中,您创建了一个y变量并在其中保留对克隆对象的引用,而在第一个示例中,您没有这样做(一旦代码完成,克隆对象将不再具有任何强大的1个引用,可以进行垃圾回收)。


1控制台在记录对象时会保留对该对象的引用,但我认为它是一个弱引用,不会阻止GC(这一个假设,我不知道是什么事实)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM