gpt4 book ai didi

javascript - 覆盖函数而不更改其其他属性

转载 作者:行者123 更新时间:2023-12-01 00:35:00 25 4
gpt4 key购买 nike

定义函数 a 时,Javascript 将函数定义以及其他属性存储在 a 中。有没有办法覆盖函数定义而不更改其其他属性?

例如,如果我有这个功能:

let a = () => {
return 'a';
}

a.myprop = 'my prop';

我想在不更改属性 myprop 的情况下覆盖它。

最佳答案

不,函数代码在定义函数后是不可变的。唯一要做的另一件事是创建一个新函数并将所有属性从旧函数复制到新函数:

// Examine results in browser console, not snippet console:

const a = () => {
return 'a';
}

a.myprop = 'my prop';
console.dir(a);

const aNew = () => {
console.log('aNew');
};
Object.assign(aNew, a);
console.dir(aNew);

关于javascript - 覆盖函数而不更改其其他属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58198405/

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