c# - 如何识别JavaScript方法(函数)

标签 c# javascript visual-studio .net-2.0

我正在为 VS2008 编写一个插件,我想识别 JavaScript 方法(函数)。我有一个文件 - example.js:`

        function test0()
        {
            var i = 0;
            {
                var j = 0;
            }
            var array = { 1: 2, dd: 10, aaa: 3 };
                    return array;
        }

        function test1()
        {
            var ii = "x";
            {
                var xx = "x" + ii;
            }
            return ii;
        }

`

如何识别这些方法?使用正则表达式?

最佳答案

请记住,JavaScript 函数可以通过多种方式编写。您展示了“C”风格的函数定义,但还有其他的。

您会看到很多“var test2=function(){}”。

您还会将它们视为对象“test3: function(){}”的成员。

您可以使用“new”,但这不是很流行。

不要忘记,许多 JavaScript 函数都是匿名的。

为了更好地衡量,您应该处理立即调用模式:

(function () {

  // ...

}());

您将看到的代码是否会受到一些 self 强加的规则的限制?如果没有,当您看到“函数”时,您需要进行一些解析。特别是因为“函数”可能只是某些文本中的一个单词,并且您有几种不同类型的引号和几种注释样式需要解开,以查看它是否只是文本字符串的一部分或注释的一部分。

关于c# - 如何识别JavaScript方法(函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1122913/

相关文章:

javascript - 在()之间封装js函数?

javascript - HighCharts Stacked Column 将 Onclick 事件添加到图表

visual-studio - 在哪里可以找到 azure 构建管道的测试结果?

c# - 发布项目时,使用向导而不是仅提供 bin 文件夹有什么好处?

c# - 无法解释的空指针引用,我在怪鬼

c# - 记录异常

javascript - OCaml 相当于 javascript 'apply'

c++ - WinRT组件: C1189: #error: "No Target Architecture"

c# - 为什么函数不更改给定的节点(列表)?

c# - DotNetBrowser 中的 Silverlight 支持