js如何将值类型的变量以引用的方式传递

js如何将值类型的变量以引用的方式传递?
饿了么面试题。对这里理解不是很透彻,希望得到解析。

阅读 4.9k
4 个回答

我只能想到把基本类型变成引用类型来这样写

var str = "abcd";        //基本类型
var obj = {"str":str};   //引用类型
var boj2 = obj;          //复制引用地址
console.log(boj2.str);   //abcd
obj.str = "bcd";
console.log(boj2.str);   //bcd
let str='abcd';
let obj=new Object();
obj[str]=str;
console.log(obj);
var obj = {value: undefined};

console.log(obj.value); //undefined 值类型

var obj2 = obj;

console.log(obj2.value) // undefined 引用传递 引用obj.value的值

obj.value = 1; //验证是否是引用传递

console(obj2.value);//1 确定是引用传递

图片描述

高级程序设计中,函数参数都是按值传递,实际上引用类型传递进来会把指针地址复制一份,实际上传递的还是栈中的值,本质还是按值传递。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题