首页 > 代码库 > 如何为javascript代码编写注释以支持智能感知

如何为javascript代码编写注释以支持智能感知

在使用Visual Studio做开发的时候,智能感知是非常方便的。从VS2008开始,提供了对javascript的智能感知支持。例如

image

上述代码中,我们先用document对象的getElementById的方式取得了文档中的一个Id为form1的元素,实际上就是默认的那个窗体元素。然后,我们将其赋给一个名为f的变量。

然后,我们在使用f 这个变量的时候,就能自动地列出该form元素所应该有的一些成员,例如action等等。

这些属于是默认的元素和方法的智能感知,假设我们自己有一些自定义js代码,如何让它也能够智能感知呢?

答案是:对于自定义方法的智能感知,是自动的。

例如,我们在页面中添加一个方法如下

function Helloworld(name) {
    alert("hello," + name);
}

然后在文档的任何一个部分,我们想调用该方法,都可以自动地被智能感知识别到

image

这种智能感知应该是最基本的。但是我们经常在用c#编写代码的时候,有另外一种更好的智能感知:就是说不光是列出方法名,而且会有对该方法以及它的参数,返回值的详细描述,这样使用者就可以更好地使用该方法了。如下所示

image

image

这是怎么实现的呢?其实这是通过注释来实现的,如下面所示

/// <summary>
/// 根据一个人名返回一个问候语
/// </summary>
/// <param name="name">要问候的人</param>
/// <returns>返回的问候语</returns>
public string Helloworld(string name)
{
    return "hello," + name;
}

这种注释我们称为XML注释,是从.NET 2.0开始提供的一种新功能。

 

好,了解了上面的知识后,如果我们需要为我们的javascript代码添加类似的智能感知提示,那么能不能也用注释呢?

是的,我们的确可以这么做

function SomeMethod(a, b) {
    /// <summary>
    /// 这是一个方法
    /// </summary>
    /// <param name="a">这是参数a</param>
    /// <param name="b">这是参数b</param>
    /// <returns>方法的返回值</returns>
    return "Hello,worod";
}

有一点不同的是,这些注释是写在方法内部的,而不像C#那样写在方法外部。而且,如果要实现这样的功能,以上函数就不能直接在aspx页面中编写,而是要单独写一个js文件。如default.js

然后在aspx中添加对该js的引用

<script src="http://www.mamicode.com/default.js" type="text/javascript"></script>

image

image