javascript - 如何知道 "who"执行了这个函数

标签 javascript html

在我的 Javascript 代码中有这个

function log_function() {

   console.log("WHO FIRED ME");

}

window.alert = log_function;
window.open = log_function;
window.confirm = log_function;

在函数 log_function 内部,我想知道“谁”触发了“log_function”。是否可以?我会将那个函数分配给更多的函数,所以我想知道是谁触发了 log_function。

例如,如果在一个页面中有这样一个脚本:

警报(“aaa”);

我想知道是那个“alert”被屏蔽了,记录到控制台。

最佳答案

你可以使用闭包:

function log_function(caller) {
   return function() {
      console.log(caller + " FIRED ME");
   }
}

window.alert = log_function('alert');
window.open = log_function('open');
window.confirm = log_function('confirm');

关于javascript - 如何知道 "who"执行了这个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594439/

相关文章:

javascript - JS插件在页面不需要时破坏其他脚本

javascript - 为什么默认参数和函数参数不能同名?

javascript - 在 BIRT 中,如何从 JavaScript 访问任意数据集?

Javascript 在执行 2 个函数后失败,即使函数相同

python - 抓取并存储数据以供 html 显示

javascript - 使用 jQuery 比较具有相同类名但不同 id 的多个输入字段

javascript - 如何在禁用元素上触发点击事件

javascript - 在 Angular 中附加 YouTube 视频 URL 时显示 ERR_CERT_AUTHORITY_INVALID 错误

html - 半个半个css布局padding和定位问题

html - CSS HTML ,如何使幻灯片居中