
正文
js-fn函数返回一个引用变量的细节
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1.直接返回一个字面量对象
function fun1() {
return {
age:10,
name:'adain'
}
a = fun1();
b = fun1();
b.age = 18 ;
console.log(b.age) // 18
console.log(a.age) // 10
可见:函数返回值为一个字面量对象时,每次调用会在内存堆中创造一个全新的对象,并将它的引用地址赋给调用它的变量
工厂模式本质也类似,每次调用工厂函数都会在内部调用new方法构造一个全新的对象,并将这个"组装完成的对象"的引用地址返回
注意js本身使用时浅拷贝,对于引用变量它复制的是对应的内存地址
2.注意要区分它和闭包的区别







