Rumah  >  Soal Jawab  >  teks badan

Gunakan nilai rentetan pembolehubah sebagai nama fungsi yang akan dipanggil

Bagaimana untuk memanggil salah satu fungsi yang disenaraikan berdasarkan nilai pembolehubah Called_function?

function a() { alert('You called the a function.'); }
function b() { alert('You called the b function'); }
function c() { alert('You called the c function'); }

const possible_strings = ["a", "b", "c"];
const called_function = Math.floor(Math.random() * possible_strings.length);

Ini tidak berfungsi: window[被调用函数]();

Apabila berlari window[called_function]();, ia menunjukkan tidak ditentukan.

P粉394812277P粉394812277236 hari yang lalu386

membalas semua(1)saya akan balas

  • P粉801904089

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

    Anda tetapkan Called_function kepada indeks item dalam tatasusunan. Kemudian anda perlu mencari indeks itu dalam tatasusunan untuk mendapatkan nama fungsi.

    function a() { alert('You called the a function.'); }
    function b() { alert('You called the b function'); }
    function c() { alert('You called the c function'); }
    
    const possible_strings = ["a", "b", "c"];
    const called_function = possible_strings[Math.floor(Math.random() * possible_strings.length)];
    
    window[called_function]()

    Anda juga boleh merujuk fungsi secara langsung dan bukannya menggunakan rentetan, seperti ini:

    function a() { alert('You called the a function.'); }
    function b() { alert('You called the b function'); }
    function c() { alert('You called the c function'); }
    
    [a,b,c][Math.random()*3|0]()

    balas
    0
  • Batalbalas