gpt4 book ai didi

javascript - 即时迭代和更改 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-30 06:07:31 25 4
gpt4 key购买 nike

我希望能够遍历文档中的所有 JavaScript 函数,例如,向它们添加 alert('ok');

所以如果我有:

function a(num) {
return num;
}

在我运行我的 javascript 代码并调用这个函数之后,它实际上会做:

{
alert('ok');
return num;
}

我知道我可以使用 window.[funcName] 访问函数,但我如何遍历所有函数并编辑它们?

谢谢

PS:我知道这不是个好主意,但这只是为了调试环境

最佳答案

for (var i in window) {
if (typeof window[i] == 'function') console.log(i); // logs the function name
}

这会为您提供一个函数列表。你不能修改 JavaScript 中的函数,你只能包装它们。这意味着您复制该函数并用包装器替换原始函数。比如说,我们有这个功能:

function a(num) { return num;}

然后我们像这样包装它:

functionName = 'a'; // original function name
window['_original_' + functionName] = window[functionName]; // putting it in a safe place
window[functionName] = function() { // creating wrapper
alert('ok'); //logger function
return window['_original_' + functionName].apply(null, arguments); //invoke original
}

这只给你全局空间函数,例如它不会记录 jQuery 插件。如果您想记录所有功能,请使用 Firebug 的分析器。

关于javascript - 即时迭代和更改 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3306841/

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