gpt4 book ai didi

javascript - 可以创建 javascript Hook 吗?

转载 作者:行者123 更新时间:2023-11-30 09:33:14 25 4
gpt4 key购买 nike

是否可以像 php 一样在 javascript 中创建一个 Hook 系统?

举个例子----

function myjsfunction(){

call_my_function('handle_name');

}

现在无论人们用“句柄”名称添加什么函数,它都应该在那里执行。

喜欢

add_to_function('handle_name', function(){alert('hi')});
add_to_function('handle_name', function(){alert('hello')});

这两个函数都应该执行

最佳答案

var hooks = {};

function add_to_function(name, func) {
if(!hooks[name]) hooks[name] = [];
hooks[name].push(func);
}

function call_my_function(name, ...params){
if(hooks[name])
hooks[name].forEach(func => func(...params));
}

由于函数是 js 中的第一类,您可以简单地将它们存储在一个对象中。

用例:

add_to_function("log", console.log.bind(console, "this will log "));

call_my_function("log", "sth cool!");

使用 IIFE 实现:

http://jsbin.com/joxigabeyi/edit?console

关于javascript - 可以创建 javascript Hook 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45054782/

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