- ベストアンサー
関数の引数に引数を持つ関数を入れたい場合はどうすればよいのでしょうか。
関数の引数に引数を持つ関数を入れたい場合はどうすればよいのでしょうか。 function hoge(m, l, p, h) {} (中身は省略しています。) この関数の引数「h」にhtmlを代入しようとしています。 そのhtmlには、WindowOpen()があり、そのまま代入すると「")"がありません」 エラーが発生するのですが、これは無茶なことなのでしょうか。 なんとか解決方法があれば教えていただけませんでしょうか。 「"」の時のように「\"」ではだめだったので行き詰っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
別に文字列なら普通に通ります。 たとえば <script> function hoge(m, l, p,h){ document.write(h); } var obj=new Object(); hoge(obj,1,1,'WindowOpen()'); </script> 別のところで何か勘違いがあるのでは?
その他の回答 (2)
- nekomikekamo
- ベストアンサー率73% (71/97)
回答No.2
まったく分かりませんが。 var foo = function(h){alert(h)}; var hoge = function(f){f();} ; hoge(function(){foo("test")}); こんな感じのイメージですか?
質問者
お礼
ありがとうございました。解決しました。
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
hの型(属性)は何ですか?代入って、結果を代入するのでしょ。
質問者
お礼
ありがとうございました。解決しました。
質問者
補足
hの型は文字列型です。 単純にhoge(obj,1,1,'WindowOpen()')というかんじで hには、タグなどを含むhtmlの文字列を入れているのですが、WindowOpen()カッコの部分でエラーになってしまいます。
お礼
ありがとうございました。解決しました。 おっしゃられたとおり、別のところに勘違いがありました。 WindowsOpenの中の「'」が原因でした。前に\を置くことで解決しました。 エラーの表示が「")"がありません」だったので、「()」のことばかり気にしてしまい WindowsOpen中の「'」の存在をすっかり忘れていました。 こんなことでお騒がせしてすみませんでした。 自己流で作っているもので、勉強たことがある人なら書く前からわかっているようながちんぷんかんぷんです^^; とりあえづ成功しましたので締め切りとさせていただきます。 皆様ありがとうございました。