2011-12-17 9 views
1

Closure Compilerは、JavaScript変数に関するデータ型情報を使用して、最適化と警告を強化できます。Googleクロージャではどこで機能注釈を使用しますか?

私はtheir type expressionsを見ていて、機能タイプのリストをいくつか見ていました。例:

{function(string, boolean)} 
A function that takes two parameters (a string and a boolean), and has an unknown return value. 

もう一つの例:

{function(new:goog.ui.Menu, string)} 
A function that takes one parameter (a string), and creates a new instance of goog.ui.Menu when called with the 'new' keyword. 

私はこれらのアノテーションを使用して、それが実際にどのように見えるかの例を与えるだろうどこ誰かが私に教えてもらえますか?それらは主に@param用であり、@return用の関数は、パラメータとして関数を取ったり関数を返すものですか?

答えて

3

あなたはタイプを使用する任意の場所:

  • のvar宣言
  • パラメータ型
  • 戻り値の型
  • は、一般的に

キャスト、クロージャライブラリは見て良い場所です例:

http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/base.js

しかし、ここでいくつかのサンプルは以下のとおりです。

正常な機能:

/** 
* @param {string} a 
* @return {string} 
*/ 
function f(a) { 
    return a; 
} 

一般的な機能を取る機能:

/** 
* @param {Function} a 
* @return {void} 
*/ 
function f(a) { 
} 

その必要があり、単一のパラメータを持つ関数を取る機能文字列で返して文字列を返す:

/** 
* @param {function(string):string} a 
* @return {void} 
*/ 
function f(a) { 
} 
+0

私はそれを私の心の中で過度に作り出していました。ありがとう。 –

+0

これはおかげで、私はこれも必要であると考えていました。 –

関連する問題