javascript - javascript 在 window.addEventListener 中使用 window["my_func"]()
问题描述
好的,我已经寻找解决方案但失败了,如果我错过了这里的帖子,请指出我。
问题:我知道使用 eval 将字符串转换为函数被认为是不好的做法,例如
eval("my_func"());
从我发现正确的方法是使用窗口对象,例如
window["my_func"]();
这绝对可以正常工作,除非我在窗口侦听器中需要它,例如
window.addEventListener("load", ()=>{
function my_func(){
alert("hi");
}
window["my_func"]();
});
它给出了“未捕获的类型错误:window.my_func 不是函数”的错误
我尝试使用“this”关键字而不是 window 但没有乐趣,我尝试不使用箭头函数没有乐趣,我仍然可以使用 eval 但这不是最佳实践,不知道该去哪里。
有任何想法吗?
干杯
禅
解决方案
推荐阅读
- c# - 如何在 LINQ to SQL 中编写右侧为空的 LEFT OUTER JOIN?
- snowflake-cloud-data-platform - 雪花:过滤包含正确日期值的行
- mysql - Mysql外键约束删除
- ruby - 无法在 ruby 1.9.3 Alpine 上安装 ffi gem
- php - 您可以让 mailchimp 使用除订阅之外的其他词吗?
- linux - SMSC95xx 使用外部 PHY (TI DP83TC811):eth1 链路已关闭
- javascript - 如何使用选择框更改 div 的背景样式?
- sql - 如何使用您的管理员详细信息登录 psql
- python - 如果长度小于 3,子字符串不会输出任何内容
- c++ - 使用 CUDA 代码编译 MINPACK 库的问题