javascript真的有引用吗?

//先来看一个例子
function test(obj){
   obj = {};
}

var o = {a:123}
test(o);
console.log(o);
//如果是引用, 应该打印出来为{} , 但结果是{a:123} 说明其实js传参中并没有引用

如果不是引用,那是怎么回事呢?

我画了一张图来说明这个时候的stack,和heap的情况

原来o的引用并没有改变,所以打印{a:123}

 

所以在AMD中

var exports = module.exports;
define(require, exports, module) {
    //错误: exports = {a:123,b:345};
    //正确: exports.a = 123; exports.b = 345;
    //正确: module.exports = {a:123,b:345};
}

第一次画图, 不太给力啊.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。