116 次浏览【转载需注明来源】
博客作者:【野生程序菌】
我想让定义函数统一返回的数据类型(对象)
一、
声明 全局变量 的对象,函数相互调用会被替代值
二、
在每个函数里面去声明一次对象又太繁琐
三、
静态类 的写法会不会函数相互调用会被替代值
易语言里有自定义数据类型,不知道JS里面要怎么做好!
求最佳的方案!!
JS的对象{},就是自定义数据类型
老大声明全局的对象会相互替换值,又不想每次从函数里再次声明相同的对象值。
我意思有没有那种,声明好对象属性后,再从函数里面 新建对象 来引用(不会导致值相互被替换)
或者又更好的办法呢
如果你想要让 newObj 赋值的是一个独立的对象而不是和 obj 共享同一个对象,你可以使用对象的复制方法来创建一个新的对象。在 JavaScript 中,有多种方法可以复制对象,例如:
newObj
obj
使用对象的展开语法(ES6+)
let obj = {name: "John", age: 30}; let newObj = {...obj}; newObj.name = "Mike"; console.log(obj.name); // 输出 "John" console.log(newObj.name); // 输出 "Mike"
在这个例子中,我们使用了对象的展开语法来创建一个新的对象 newObj,它包含了 obj 的所有属性。由于 newObj 和 obj 引用的是不同的对象,所以修改 newObj 的属性不会影响 obj 的属性。
使用 Object.assign() 方法
let obj = {name: "John", age: 30}; let newObj = Object.assign({}, obj); newObj.name = "Mike"; console.log(obj.name); // 输出 "John" console.log(newObj.name); // 输出 "Mike"
在这个例子中,我们使用了 Object.assign() 方法来创建一个新的对象 newObj,它包含了 obj 的所有属性。由于 newObj 和 obj 引用的是不同的对象,所以修改 newObj 的属性不会影响 obj 的属性。
无论使用哪种方法,都可以创建一个新的对象,它与原对象是独立的,互不共享。
不能恶意举报,否则进行封号处理!
测试账号
快码FOF编程 Time: 2023-05-31 15:35:38
评论ID
JS的对象{},就是自定义数据类型
野生程序菌 回复 1楼 快码FOF编程 Time: 2023-05-31 15:39:57
评论ID
老大声明全局的对象会相互替换值,又不想每次从函数里再次声明相同的对象值。
我意思有没有那种,声明好对象属性后,再从函数里面 新建对象 来引用(不会导致值相互被替换)
或者又更好的办法呢
野生程序菌 Time: 2023-05-31 16:14:59
评论ID
如果你想要让
newObj
赋值的是一个独立的对象而不是和obj
共享同一个对象,你可以使用对象的复制方法来创建一个新的对象。在 JavaScript 中,有多种方法可以复制对象,例如:使用对象的展开语法(ES6+)
let obj = {name: "John", age: 30}; let newObj = {...obj}; newObj.name = "Mike"; console.log(obj.name); // 输出 "John" console.log(newObj.name); // 输出 "Mike"
在这个例子中,我们使用了对象的展开语法来创建一个新的对象
newObj
,它包含了obj
的所有属性。由于newObj
和obj
引用的是不同的对象,所以修改newObj
的属性不会影响obj
的属性。使用 Object.assign() 方法
let obj = {name: "John", age: 30}; let newObj = Object.assign({}, obj); newObj.name = "Mike"; console.log(obj.name); // 输出 "John" console.log(newObj.name); // 输出 "Mike"
在这个例子中,我们使用了 Object.assign() 方法来创建一个新的对象
newObj
,它包含了obj
的所有属性。由于newObj
和obj
引用的是不同的对象,所以修改newObj
的属性不会影响obj
的属性。无论使用哪种方法,都可以创建一个新的对象,它与原对象是独立的,互不共享。