以下の関数で toString() を呼び出すと、ブラウザ間で異なる文字列が返されます。これは、ECMA-262 15.3.4.2 が各ベンダーに柔軟な余地を残しているためだと理解しています。
Chrome は、すべての構文に加えてコメントを返します。残念ながら、Firefox 3.6 ではコメントが省略されています。Firefox の動作に基づいて、IE、Opera、または Safari はテストしていません。
function foo() {
/* comment */
var bar = true;
}
具体的には、関数内の特別にフォーマットされたコメント ブロック内にメタ データを埋め込もうとしています。その後、関数 toString() メソッドの戻り値が解析され、値がオブジェクトとして返されます。
互換性テーブルまたは toString() の代替を見つけることができませんでした。コミュニティにはアイデアがありますか?ところで、JS ファイルの前処理はオプションではありません。:(
どうもありがとう。:)