gpt4 book ai didi

javascript - 在引用原始函数时覆盖 JavaScript 函数

转载 作者:IT老高 更新时间:2023-10-28 13:17:23 26 4
gpt4 key购买 nike

我有一个函数,a(),我想重写它,但还要根据上下文按顺序执行原始 a()。例如,有时当我生成一个页面时,我想像这样覆盖:

function a() {
new_code();
original_a();
}

有时像这样:

function a() {
original_a();
other_new_code();
}

如何从覆盖的 a() 中获取该 original_a()?有没有可能?

请不要以这种方式提出替代方案,我知道很多。我是专门问这种方式的。

最佳答案

你可以这样做:

var a = (function() {
var original_a = a;

if (condition) {
return function() {
new_code();
original_a();
}
} else {
return function() {
original_a();
other_new_code();
}
}
})();

在匿名函数中声明 original_a 可以防止它弄乱全局命名空间,但它可以在内部函数中使用。

就像评论中提到的 Nerdmaster 一样,请务必在末尾包含 ()。您想调用外部函数并将 result(两个内部函数之一)存储在 a 中,而不是将外部函数本身存储在 a.

关于javascript - 在引用原始函数时覆盖 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/296667/

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