gpt4 book ai didi

javascript - 如何获取 javascript 文件中的函数列表?

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

我正在尝试拼凑一个 php 样式的 javascript 包含函数。我选择的路线是通过 XMLHttpRequest。包含的文件将加载,但该文件中的函数不可用,因为它们的范围仅限于调用它们的函数。

我遇到了 this article这实现了类似的目标,但要求编码人员提前指定他们需要哪些功能,而我想简单地包含一个文件并自动将功能添加到 window 对象中。

这是我的进步

function twinkle(){

getXMLHTTPObj("twinkle/test.js");

// A simple function inside test.js
includedFunc();

}


// XMLHttp Stuff lifted from he Apple tutorial

var req;
function getXMLHTTPObj(url) {
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}

if(req) {
req.onreadystatechange = processReqChange;

// Set to False so javascript waits for the included functions
// to become available
req.open("GET", url, false);
req.send("");
}

return req;
}

function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
eval(req.responseText);
} else {
alert("There was a problem retrieving the XML data:\n" +
req.statusText);
}
}
}

我正在考虑在每个包含的文件中创建一个函数索引,可以在包含文件时对其进行迭代,但这并不是一个真正优雅的解决方案。

有什么想法吗?是否有一些我可以访问的 javascript 属性或函数来获取文件中的函数列表?

最佳答案

改变您声明函数的方式,它应该可以解决作用域问题。而不是:

function add(a, b) 
{
return a + b;
}

这样做:

var add = function(a, b) 
{
return a + b;
}

关于javascript - 如何获取 javascript 文件中的函数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418388/

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