为什么以下代码输出结果为2?

<script>
var b = {b:1};
function addB(b){
	b.b++;
	b={};
	b.b=3;
}
addB(b);
console.log(b.b);
</script>


萧俊介
浏览 2086回答 1
1回答

Caballarii

addB(b)传入的是b的地址的复制,所以b={}并不会改变函数外面的b的引用,但因为外面的b和里面的b一开始指向的是同一个地址,所以在函数里面先调用了b.b++;外面的b也就随着改变了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript