• 締切済み

JavaScriptの関数渡しに関して

こんにちは。JavaScriptの関数の受け渡しで悩んでいます。 FileBからFileAへコールバックのような関数を渡し,その 関数にデータをセットして返して欲しいのですが,上手く 動きません。まず,下記ソースのファンクション:Registration にて, CallBackFunctionへ,FileBから送った関数が 上手く登録できていない気がします。 どのようにすれば良いのでしょうか? よろしくお願いいたします。 ------------------------------------------------- FileA.js ; var CallBackFunction; Registration = function( registrationFunction ){ CallBackFunction = registrationFunction; }, ; ; -----Do something ; ; SendData=function(data) { CallBackFunction( data ); } ------------------------------------------------- FileB.js ; document.onload(){ registration( myCallbackFunction ); }, myCallbackFunction( data ){ Alert( data ); } -------------------------------------------------

みんなの回答

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

エラーが無くても動かない間違いもあります 変数名の大文字と小文字は区別される 例: 関数 Registration は registration で呼べない 例: システム関数 alert は Alert で呼べない 指針として、変数名・関数名は小文字始まりが良い 文の区切りはセミコロン(;)、カンマ(,)は特殊用途 関数の定義は、関数文と関数式の二通りのみ 文: function 名前(){ ... } 式: 名前 = function(){ ... }; onload を変更するなら関数式で 誤: document.onload(){ ... }, 正: document.onload = fucntion(){ ... };

wildbeast2006
質問者

お礼

ご指摘ありがとうございました。 エラー無しになるまで改修しました。 その後、再度テストを行い、同じファイル内の関数は登録できるのですが、他のファイルの関数は登録できないままです。

  • gorusura
  • ベストアンサー率59% (25/42)
回答No.1

明らかな文法エラーが沢山ありますよね。 エラーコンソールで何がいけないのか確認してみましたか。 その確認/修正の後、alert をちょくちょく入れて動作を確認してみて下さい。 関数宣言は以下の形です。 function name([param[, param[, ... param]]]) { statements; }

wildbeast2006
質問者

お礼

ありがとうございます。 書き換えてエラーが無いようにしたのですが、どうも思ったように動いてくれないようです。

関連するQ&A