Asp.Net Ajax 學習筆記21 VS2008的JavaScript代碼提示功能

這次課程主要講的是VS2008的環境問題,其中包含

  • JavaScript Intellisense JavaScript智能提示
  • JavaScript Comment JavaScript註釋

1、JavaScript Intellisense功能

  • 自動識別變量的運行時類型
  • 自動判斷方法返回類型
  • 自動識別引用的JS文件內容
  • Microsoft AJAX Library支持

有幾個詳細的說明

  1. 使用javascript的src引入的js文件中的方法,可以生成智能提示
  2. 如果要引入支持Asp.Net Ajax Library支持的js文件,需要在js文件頭中加入
    /// <reference name="MicrosoftAjax.js"/>
    代碼,表明在js文件中引入別的js文件,在name後可以加上程序集的名稱也就是Assembly="..."。如果引入當前項目的js文件可以使用path元素,指定js的路徑。當然在頁面上引入支持Ajax Libaray的js文件使用ScriptManager的ScriptReference節點。
  3. 引入一個WebService也可以生成智能提示。
  4. VS2008的智能提示功能可以檢測代碼的邏輯性。如if語句中的判斷等於的符號寫成了=號,那麼會給出消息提示

2、JavaScript Comment功能

類似於.net中的註釋功能,使用XML形式爲JavaScript的各成員做註釋,供VS 2008的JavaScript Intellisense使用,並用於自動生成文檔。

  1. 提供成員的描述信息
    <summary>
        Description
    </summary>
  2. 提供對於參數的描述信息
    <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>
  3. 對方法的返回值進行描述
    <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>
  4. 對屬性的值進行描述
    <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>
  5. 對於域變量或枚舉項進行註釋
    <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>
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章