//Functionコンストラクタ
Function("alert('aiueo');");
//インライン定義
function(){
alert("aiueo");
}
この二つの方法でそれぞれ生成した関数のconstructorプロパティには、殆どのJavaScript実行環境でFunctionが設定されるのですが、NN4とFirefox拡張機能では違います。
NN4は関数内でインライン定義をするとconstructorプロパティにClosureが設定されます。またFirefox拡張機能(※)のインライン定義はFunctionなのですが、Functionとは違うFunctionになります。文字列表現は同じなのですが===演算子で一致しません(※)。
NN4もFirefox拡張機能もマイナーな環境ですので通常心配する必要はありませんが、もし不幸にも関わることがありましたら、この事を頭の隅に置いておくとはまらずに済む事があるかもしれません。
※overlay要素にscript要素を追加して「alert((function(){}).constructor === Function);」を実行すると簡単に確認できます。
0 件のコメント:
コメントを投稿