我有一个函数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
这可能吗?
编辑
当前上述结果导致错误:未知:标识符"处理程序"已被声明。
函数声明:
- 声明具有匹配名称的变量
- 被吊装
请改用函数表达式。这些都不是上述任何一项。
function handler(data) {
console.log(`1. ${data}`);
}
let oldHandler = handler;
handler = function handler(data) {
oldHandler(data);
console.log(`2. ${data}`);
};
handler("bar");