当前博客:让定义函数统一返回的数据类型怎么做比较好!

115 次浏览【转载需注明来源】

博客作者:【野生程序菌】

个性签名:寒窗苦读十年一朝凤舞九天

我想让定义函数统一返回的数据类型(对象)

 

一、

声明 全局变量 的对象,函数相互调用会被替代值

 

二、

在每个函数里面去声明一次对象又太繁琐

 

三、

静态类 的写法会不会函数相互调用会被替代值

 

易语言里有自定义数据类型,不知道JS里面要怎么做好!

 

求最佳的方案!!

默认排序
Generic placeholder image
Generic placeholder image
快码FOF编程 Time: 2023-05-31 15:35:38

JS的对象{},就是自定义数据类型

Generic placeholder image
野生程序菌 回复 1楼 快码FOF编程 Time: 2023-05-31 15:39:57

老大声明全局的对象会相互替换值,又不想每次从函数里再次声明相同的对象值。

 

我意思有没有那种,声明好对象属性后,再从函数里面 新建对象 来引用(不会导致值相互被替换)

 

或者又更好的办法呢

Generic placeholder image
野生程序菌 Time: 2023-05-31 16:14:59

如果你想要让 newObj 赋值的是一个独立的对象而不是和 obj 共享同一个对象,你可以使用对象的复制方法来创建一个新的对象。在 JavaScript 中,有多种方法可以复制对象,例如:

  1. 使用对象的展开语法(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 的属性。

  2. 使用 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 的属性。

无论使用哪种方法,都可以创建一个新的对象,它与原对象是独立的,互不共享。


让定义函数统一返回的数据类型怎么做比较好!