• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptで、下記のコードをFireFoxで実行した際にd()

JavaScriptで実行されるコードのエラーについての質問

このQ&Aのポイント
  • JavaScriptで実行されるコードの中で、window.alert関数は変数aに代入して実行できるのに、document.createElementは変数dに代入しても実行できない理由について知りたいです。
  • 質問のコードをFireFoxで実行した際に、d("input")の行でエラーが発生しました。d変数には関数が代入されているようなので、なぜエラーが発生するのか疑問です。
  • FireFox3.5.11で発生した現象について、window.alert関数とdocument.createElement関数の挙動の違いについて理解を深めたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • imq
  • ベストアンサー率72% (16/22)
回答No.1

おそらくcreateElementメソッドの内部で、documentをthisで参照して使っているのでしょう。 dにcreateElementの参照を代入して実行するとthisはwindowを参照するので、それがエラーの原因になっているかと思われます。 d("input"); の行を d.call(document, "input"); と変更したらエラーが出なくなると思います。

chun316
質問者

お礼

素晴らしいです。納得しました!ありがとうございました。

関連するQ&A

専門家に質問してみよう