ホームページ  >  に質問  >  本文

呼び出される関数の名前として変数の文字列値を使用します。

変数 Called_function の値に基づいてリストされた関数の 1 つを呼び出すにはどうすればよいですか?

リーリー

これは機能しません: window[呼び出された関数]();

window[called_function](); を実行すると、未定義と表示されます。

P粉394812277P粉394812277236日前391

全員に返信(1)返信します

  • P粉801904089

    P粉8019040892024-02-27 00:42:50

    Called_function を配列内の項目のインデックスに設定します。次に、配列内のインデックスを検索して関数名を取得する必要があります。

    function a() {alert('関数を呼び出しました。'); }
    function b() {alert('b 関数を呼び出しました'); }
    function c() {alert('c 関数を呼び出しました'); }
    
    const possible_strings = ["a", "b", "c"];
    const known_function = possible_strings[Math.floor(Math.random() * possible_strings.length)];
    
    ウィンドウ[呼び出された関数]()

    次のように、文字列を使用する代わりに関数を直接参照することもできます。

    function a() {alert('関数を呼び出しました。'); } function b() {alert('b 関数を呼び出しました'); } function c() {alert('c 関数を呼び出しました'); } [a,b,c][Math.random()*3|0]()
    
    
    

    返事
    0
  • キャンセル返事