0

Google Closure が変数を台無しにしないように、Javascript に適切に注釈を付けようとしています。

関数のパラメーター (私の場合は externs) の名前が変更されていないことを確認するために、匿名関数を強く型付けすることが可能かどうか疑問に思っています。

ここにイラストがあります

/** externs.js where I define my externs */
/** @interface a Json object returned by the server */
function MyServerResult() {}
/** @type {boolean} */
MyServerResult.prototype.error;

externs.jsおよびjquery.jsexterns としてコンパイルされた別のファイル。

$.get("url.php", function(data) {alert(data.error;}, "json");

function(data)無名関数の名前が変更されて@type {function(MyServerResult)}いないことを確認しようとしてerrorいます。

それを直接行うことはできますか、それとも別の関数を作成する必要がありますか (おそらくコンパイラによってインライン化されます...)?

4

1 に答える 1

2

私はあなたができるはずだと信じています:

/**
 * @param {MyServerResult} data
 */
var callback = function(data) {
  alert(data.error);
};
$.get("url.php", callback, "json");
于 2012-04-25T16:44:41.933 に答える