cari

Rumah  >  Soal Jawab  >  teks badan

Pembolehubah dalam Pembolehubah JavaScript

<p>Saya tahu ada kemungkinan untuk mempunyai pembolehubah "boleh berubah" dalam PHP. Contohnya, </p> <pre class="brush:php;toolbar:false;">$x = "pembolehubah"; $$x = "Hello, Dunia!"; echo $variable; // Memaparkan "Hello, World!" </pra> <p>Adakah mungkin untuk merujuk pembolehubah mengikut nama sebagai rentetan dalam JavaScript? bagaimana saya harus melakukannya? </p>
P粉212971745P粉212971745457 hari yang lalu543

membalas semua(2)saya akan balas

  • P粉494151941

    P粉4941519412023-08-25 16:40:34

    Jika anda terdesak mahu melakukan ini, anda boleh cuba menggunakan eval():

    var data = "testVariable";
    eval("var temp_" + data + "=123;");
    alert(temp_testVariable);

    Atau gunakan objek tingkap:

    var data = "testVariable";
    window["temp_" + data] = 123;
    alert(window["temp_" + data]);

    balas
    0
  • P粉893457026

    P粉8934570262023-08-25 11:49:08

    tl;dr: Jangan gunakan eval!

    Tiada penyelesaian tunggal untuk ini. Pembolehubah boleh ditakrifkan melalui 窗口动态访问一些全局变量,但这不适用于函数的本地变量。 成为window属性的全局变量是用letconst, serta kelas.

    Hampir selalu ada penyelesaian yang lebih baik daripada menggunakan pembolehubah boleh ubah! Sebaliknya, anda harus melihat Struktur Data dan pilih struktur data yang sesuai untuk masalah anda.

    Jika anda mempunyai set tetap nama seperti

    // BAD - DON'T DO THIS!!!
    var foo = 42;
    var bar = 21;
    
    var key = 'foo';
    console.log(eval(key));

    balas
    0
  • Batalbalas