VS2008的JavaScript代码智能提示功能的注释详解

1、JavaScript Intellisense功能

自动识别变量的运行时类型 
自动判断方法返回类型 
自动识别引用的JS文件内容 
Microsoft AJAX Library支持 


有几个详细的说明

使用javascript的src引入的js文件中的方法,可以生成智能提示 
如果要引入支持Asp.Net Ajax Library支持的js文件,需要在js文件头中加入 
复制   保存
/// <reference name="MicrosoftAjax.js"/>
 
代码,表明在js文件中引入别的js文件,在name后可以加上程序集的名称也就是Assembly="..."。如果引入当前项目的js文件可以使用path元素,指定js的路径。
可以在解决方案资源管理器中拖拽MyScript到script,会自动生成下面的代码。
可以在编辑→Intellisense→更新JScript Intellisense→强制即时更新智能提示。
复制   保存
/// <reference path="MyScript.js"/>
 
当然在页面上引入支持Ajax Libaray的js文件使用ScriptManager的ScriptReference节点。 

引入一个WebService也可以生成智能提示。 

VS2008的智能提示功能可以检测代码的逻辑性。如if语句中的判断等于的符号写成了=号,那么会给出消息提示 

2、JavaScript Comment功能

类似于.net中的注释功能,使用XML形式为JavaScript的各成员做注释,供VS 2008的JavaScript Intellisense使用,并用于自动生成文档。

提供成员的描述信息 
复制   保存
///<summary>
///Description
///</summary>
 
提供对于参数的描述信息 
复制   保存
<param name="parameterName" mayBeNull="true|false"
    optional="true|false" integer="true|false"
    type="ParameterType (Number, String, etc)"
    parameterArray="true|false" domElement="true|false"
    elementType="ArrayElementType"
    elementInteger="true|false"
    elementDomElement="true|false"
    elementMayBeNull="true|false">
Description
</param>

对方法的返回值进行描述 
复制   保存
<returns type="ValueType"
    integer="true|false"
    domElement="true|false"
    mayBeNull="true|false"
    elementType="ArrayElementType"
    elementInteger="true|false"
    elementDomElement="true|false"
    elementMayBeNull="true|false">
Description
</returns>
 
对属性的值进行描述 
复制   保存
<value type="ValueType" integer="true|false"
    domElement="true|false"
    mayBeNull="true|false"
    elementType="ArrayElementType"
    elementInteger="true|false"
    elementDomElement="true|false"
    elementMayBeNull="true|false">
Description
</value>

对于域变量或枚举项进行注释 
复制   保存
<field name="fieldName" type="FieldType"
    integer="true|false" domElement="true|false"
    mayBeNull="true|false" static="true|false"
    elementType="ArrayElementType"
    elementInteger="true|false"
    elementDomElement="true|false"
    elementMayBeNull="true|false">
    Description
</field>

详细说明一下里面的属性的功能。

mayBeNull:判断值是否可以为空值。
optional:是否是必填参数。

integer:一个变量如果是Number类型,决定这个类型是否是整数
parameterArray:变量是否是一个Array

domElement:判断变量是否是一个文档模型里的成员。
elementType:如果变量是一个数组,那么描述这个数组里的成员类型。

elementInteger:如果数组成员是Number类型,描述这个数组里的成员是否是整形。
elementDomElement:描述数组成员是否是文档对象。

elementMayBeNull:描述数组成员可否为空
static:描述类成员是否是静态的

注意:在VS2008中javascript的描述应该写在方法的{符号之后,包括域变量或枚举项描述写在构造函数的{符号之后,如下例
复制   保存
Demo.MyCommentedClass = function()
{
    /// <summary>It''s MyCommentedClass''s description</summary>
}
Demo.MyCommentedClass.prototype = 
{
    myMethod: function(p)
    {
        /// <summary>It''s MyCommentedClass''s "myMethod" method</summary>
        /// <param name="p" type="Number" integer="true" mayBeNull="true">An integer</param>
        /// <returns type="Demo.MyEnum">Just try it</returns>
    },

    get_myDiv: function()
    {
        /// <summary>That''s an property</summary>
        /// <value type="Object" domElement="true">This returns an div element</value>
    }
}

更详细请看WebCast ASP.NET AJAX深入浅出系列课程(19):VS 2008的JavaScript代码提示功能(Level 200) 
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032358641&CountryCode=US

最后提示VS2008SP1+Win2003SP2简体中文版本,我测试在htm文件中的智能提示注释无效,只能在文件中有效。如果js文件太过大,或者太过复杂,或者其他因素,也有可能无效。奇怪,智能提示在文件内的显示不出来,晕。

一般情况下只用<summary><param type="Number"><returns>这几个属性就可以了,因为写了也看不到有什么特殊功能,可能是我不知道,<returns>好像现在也不能看到有什么显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值