gpt4 book ai didi

javascript - 如何匿名函数/删除对象中的名称?

转载 作者:行者123 更新时间:2023-12-03 06:33:29 25 4
gpt4 key购买 nike

我正在将函数从一个对象复制到另一个对象。问题在于,虽然它们在源对象中是匿名的,但它们在目标对象中具有名称:

var o1 = {
a: function() {
alert("Hello World");
},
b: 123,
c: "Some string"
}

var o2 = {};

for (var key in o1) {
if ("function" == typeof o1[key]) {
o2[key] = o1[key];
}
}

console.log(o2.a); //output: function o1.a()

这两个函数似乎并没有以某种方式联系起来,但这至少很令人恼火。另外,如果我在控制台中登录并单击名称,Firefox 开发者版就知道该函数来自哪里。而且我不知道这是否会以某种方式产生其他一些不良影响。

所以,如果可以复制一个函数并保持匿名,那就太好了!

最佳答案

您可以使用Object.assign()

var o1 = {
a: function() {
alert("Hello World");
},
b: 123,
c: "Some string"
}

var o2 = Object.assign({}, o1);

用于操作独立对象。

也看看这个: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

关于javascript - 如何匿名函数/删除对象中的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38339660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com