• ベストアンサー

関数の引数に引数を持つ関数を入れたい場合はどうすればよいのでしょうか。

関数の引数に引数を持つ関数を入れたい場合はどうすればよいのでしょうか。 function hoge(m, l, p, h) {} (中身は省略しています。) この関数の引数「h」にhtmlを代入しようとしています。 そのhtmlには、WindowOpen()があり、そのまま代入すると「")"がありません」 エラーが発生するのですが、これは無茶なことなのでしょうか。 なんとか解決方法があれば教えていただけませんでしょうか。 「"」の時のように「\"」ではだめだったので行き詰っています。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

別に文字列なら普通に通ります。 たとえば <script> function hoge(m, l, p,h){ document.write(h); } var obj=new Object(); hoge(obj,1,1,'WindowOpen()'); </script> 別のところで何か勘違いがあるのでは?

xiaolong_goo
質問者

お礼

ありがとうございました。解決しました。 おっしゃられたとおり、別のところに勘違いがありました。 WindowsOpenの中の「'」が原因でした。前に\を置くことで解決しました。 エラーの表示が「")"がありません」だったので、「()」のことばかり気にしてしまい WindowsOpen中の「'」の存在をすっかり忘れていました。 こんなことでお騒がせしてすみませんでした。 自己流で作っているもので、勉強たことがある人なら書く前からわかっているようながちんぷんかんぷんです^^; とりあえづ成功しましたので締め切りとさせていただきます。 皆様ありがとうございました。

その他の回答 (2)

回答No.2

まったく分かりませんが。 var foo = function(h){alert(h)}; var hoge = function(f){f();} ; hoge(function(){foo("test")}); こんな感じのイメージですか?

xiaolong_goo
質問者

お礼

ありがとうございました。解決しました。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

hの型(属性)は何ですか?代入って、結果を代入するのでしょ。

xiaolong_goo
質問者

お礼

ありがとうございました。解決しました。

xiaolong_goo
質問者

補足

hの型は文字列型です。 単純にhoge(obj,1,1,'WindowOpen()')というかんじで hには、タグなどを含むhtmlの文字列を入れているのですが、WindowOpen()カッコの部分でエラーになってしまいます。

関連するQ&A

専門家に質問してみよう