我有一个JavaScript文件,其中定义了许多方法。有什么方法可以知道该文件中有多少种方法&方法的名称是什么?如何从JavaScript文件获取方法名称
回答
有没有办法知道有多少方法的Java脚本 是&有什么方法的名称是什么?
阅读来源或文档(如果有的话)。
如果您正在寻找某种“列表可用方法”功能,那就没有一个。写一个将等同于编写一个JavaScript解析器,甚至编译器。
祝你好运。 :-)
虽然在理论上,你可以尝试找到匹配该模式的一切:
function <name>(
你会在很多其他类型的功能被错过了。请参阅函数实际上只是JavaScript中的对象。他们可以被分配,共享,修改和移动。所以,你也不得不找到这些:
var <name> = function() {}
而且这些:
function returnFunc() {
return function() {...}
}
var <name> = returnFunc();
除了这些:
obj.member = new Function();
而且几乎无限多种类似功能的定义。
所以,答案是,很可能你不能。除非代码是非常狭义的构造。
简短答案是“否”。
长的答案是,如果JS文件是您的 JS文件,即您控制的内容,那么有几种方法可以构造代码,使您可以获取计数或函数名称列表。显然,这不会帮助你与其他人的代码。道歉,如果你已经知道了这一切,但以防万一你不这样做:它通常是包装所有的“库”功能了作为一个对象的属性是个好主意,这样的事情:
var myFunctionLibrary = {
doSomething : function() {},
somethingElse : function() {},
nonFunctionProperty : "test",
// etc.
}
这将创建一个名为myFunctionLibrary
的单个全局变量,该变量是具有对函数的引用的属性的对象。 (注:还有一些其他的方法来达到类似的效果,我更喜欢这样的方式,但是这似乎简单了这种解释的目的。)然后,您说访问功能:
myFunctionLibrary.doSomething();
// or
myFunctionLibrary["doSomething"]();
因为所有你的函数,然后包含在一个特定的对象,你可以遍历他们像任何其他对象:
var funcCount = 0;
var propCount = 0;
for (fn in myFunctionLibrary) {
if (typeof myFunctionLibrary[fn] === "function"){
funcCount++;
alert("Function name: " + fn);
} else {
propCount++;
}
}
alert("There are " + funcCount + " functions available, and "
+ propcount + " other properties.");
主要优势,不过,是你不必担心你的功能可能具有相同的名称作为您想要使用的其他库中的函数。
谢谢你的帮助。我们正在取得功能名称在JS中,但我想在我的Java文件中获取这些函数名称。我的意思是我想要一些解决方案,以便我可以遍历我的JS文件,找出函数名称并列出它们在我的Java文件中。是否有任何方法我链接我的JS文件,其功能名称与Java? – Eshika
如果使用相同的签名(例如全局函数声明)编写您希望从Java访问的所有函数,那么也许可以。否则,您可以使用[jsDoc](http://code.google.com/p/jsdoc-toolkit/)样式注释,但这两种方法都不健全。 – RobG
@Eshika - 你可能想更新你的问题,然后像“我的Java程序如何处理JS文件来提取函数名称?” - 并添加“Java”标签。如果你可以将范围缩小到函数声明而不是_not_函数表达式,它应该使它更容易解析,尽管你可能仍然有一些嵌套函数的问题。 – nnnnnn
编写一个程序,将您的文件加载到Rhino中,然后检查字典并查看您拥有的文件。
检查字典的意思是检查可用的方法,但我找不到任何适当的方法,可以给我方法名称在我的JS File.Do你有任何其他的想法或我做错了什么。 – Eshika
- 1. 如何从VariableDeclarationStatement获取方法名称
- 2. 获取调用方法的名称javascript
- 3. 如何从方法内部获取JavaScript类/实例方法的名称?
- 4. 如何从该方法中获取方法名称?
- 5. 如何从JavaScript文件显示方法名称
- 6. 如何获取调用方法名称?
- 7. 如何获取方法名称?
- 8. 如何获取父方法名称?
- 9. 如何获取调用方法名称?
- 10. 从文件名获取目录名称
- 11. 从动作获取方法名称
- 12. 如何从签名文件中获取签名者的名称
- 13. 如何从wsdl文件中获取方法/操作的参数名称
- 14. 如何从文件字段获取文件的名称?
- 15. 如何从文件路径获取父文件夹的名称?
- 16. 如何获取WAR文件的名称?
- 17. 如何获取文件类型名称?
- 18. 如何按名称获取文件夹?
- 19. javascript为什么我无法从文件数组中获取文件的名称?
- 20. 如何从Ant中的目录名称获取文件名?
- 21. 如何从jar文件获取方法签名?
- 22. 如何获取调用者的文件名,方法名称以python
- 23. 如何从WinRT中的Action中获取方法名称
- 24. 如何从静态子方法获取类名称
- 25. 如何使用codeigniter从URL获取方法名称3
- 26. py.test:如何从setup方法获取当前测试的名称?
- 27. 如何从java类获取方法参数名称?
- 28. 如何从mangled名称获取方法参数列表?
- 29. 从路径获取文件夹名称
- 30. 从web.xml文件获取显示名称
可能是这个帮助:http://stackoverflow.com/questions/6588977/how-to-to-extract-a-javascript-function-from-a-javascript-file – Waqas