這次課程主要講的是VS2008的環境問題,其中包含
- JavaScript Intellisense JavaScript智能提示
- JavaScript Comment JavaScript註釋
1、JavaScript Intellisense功能
- 自動識別變量的運行時類型
- 自動判斷方法返回類型
- 自動識別引用的JS文件內容
- Microsoft AJAX Library支持
有幾個詳細的說明
- 使用javascript的src引入的js文件中的方法,可以生成智能提示
- 如果要引入支持Asp.Net Ajax Library支持的js文件,需要在js文件頭中加入
/// <reference name="MicrosoftAjax.js"/>
- 引入一個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的描述應該寫在方法的{符號之後,包括域變量或枚舉項描述寫在構造函數的{符號之後,如下例
/// <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>
}
}