追加/重新定义函数?
Appending to / redefining a function?
我有一个函数handler
:
function handler(data) {
console.log(`1. ${data}`);
}
我想在相同的范围内追加或重新定义,如下所示:
let oldHandler = handler;
function handler(data) {
oldHandler(data);
console.log(`2. ${data}`);
}
这样当我现在调用 handler
:
handler("bar");
我希望输出为:
1. bar
2. bar
这可能吗?
编辑
目前上述结果导致 错误:未知:标识符 'handler' 已被声明。
函数声明:
- 声明一个具有匹配名称的变量
- 已挂起
改用函数表达式。这些都不做上述任何事情。
function handler(data) {
console.log(`1. ${data}`);
}
let oldHandler = handler;
handler = function handler(data) {
oldHandler(data);
console.log(`2. ${data}`);
};
handler("bar");
我有一个函数handler
:
function handler(data) {
console.log(`1. ${data}`);
}
我想在相同的范围内追加或重新定义,如下所示:
let oldHandler = handler;
function handler(data) {
oldHandler(data);
console.log(`2. ${data}`);
}
这样当我现在调用 handler
:
handler("bar");
我希望输出为:
1. bar
2. bar
这可能吗?
编辑
目前上述结果导致 错误:未知:标识符 'handler' 已被声明。
函数声明:
- 声明一个具有匹配名称的变量
- 已挂起
改用函数表达式。这些都不做上述任何事情。
function handler(data) {
console.log(`1. ${data}`);
}
let oldHandler = handler;
handler = function handler(data) {
oldHandler(data);
console.log(`2. ${data}`);
};
handler("bar");