如何识别JavaScript方法(函数)

时间:2009-07-14 00:42:57

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

我正在为VS2008编写插件,我想识别JavaScript方法(函数)。我有一个文件 - sample.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;
        }

`

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

2 个答案:

答案 0 :(得分:4)

请记住,JavaScript函数可以用几种方式编写。您展示了“C”样式函数定义,但还有其他函数定义。

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

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

你可以使用“新的”,但这不是很受欢迎。

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

为了更好的衡量,你应该处理直接的调用模式:

(function () {

  // ...

}());

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

答案 1 :(得分:0)

由于函数是一个保留关键字,因此可以安全地假设,只要单词函数不在引号中,它就应该是一个javascript函数。

正则表达式应该有效。请记住检查单词是否包含在引号中(这会使单词成为字符串)。