javascript の質問です。

「string.toFunction()」の
使い方について教えてください。
具体的には、指定した関数があるかどうか調べることと、文字列で指定した関数を実行したいと考えています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/06/09 11:32:13
  • 終了:2006/06/12 18:01:55

回答(2件)

id:Yota No.1

Yota回答回数453ベストアンサー獲得回数282006/06/09 12:25:04

ポイント35pt

その関数は知りませんが、

eval()で、引数にStringを入れてやれば、実行されます。

http://javascript.jpn.org/js/bno/210.txt

id:disca

ありがとうございます。

2006/06/09 12:32:36
id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612006/06/09 12:45:39

ポイント35pt

指定した関数があるかどうか調べる

 try~catchで例外を捕捉して判断したらいかがでしょうか?

http://www.openspc2.org/reibun/javascript/koubun/034/index.html


文字列で指定した関数を実行

 1 回答者 様と同様、eval にて文字列を式として評価させます。

http://www.scollabo.com/banban/jsindex/sample/sample_059.html


<html>

<head>

<title></title>

</head>

<body>

<script language="JavaScript">

function test(){

    alert("関数が実行されました。");

}

try{

    var moji = "test();";

    eval(moji);

}

catch(e){

    alert("エラーは"+e+"です。関数が無いですな。");

}

try{

    var moji = "xxx();";

    eval(moji);

}

catch(e){

    alert("エラーは"+e+"です。関数が無いですな。");

}

finally{

    alert("おしまい");

}

</script>

</body>

</html>

id:disca

なるほど、例外処理を使うことで判断するのですすね、ありがとうございます。

2006/06/12 18:01:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません