怎么还在问这个问题。。。
按理说两次调用fun返回的应该不是同一个obj
函数的声明是不会放到栈中的,被调用的函数才会入栈,出栈,调用栈被清空,每次 return 都是返回新的值,指向不同的内存空间。如果以下:
let obj = {};
function fun(){
return obj;
}
let a = fun();
let b = fun();
console.log(a === b); // true
之前问题表述没到位。以下是对问题的重新表述:
@JS初学: 什么叫“两个不同的对象在函数fun的作用域内却是一个对象”?
明明两个obj,你为啥说是一个呀,不太懂。就感觉是一个妈生了两个孩子,你说这个两孩子是同一人....