cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Pengenalan pembolehubah, tanda petikan, serta isu penggunaan tanda

Ada sesuatu yang saya tidak begitu faham Kali ini saya melihat sekeping kod yang menerangkan masalah dengan baik:

function moveElement (elementID, final_x, final_y, interval) {
    var elem = document.getElementById(elementID);
    var xpos = parseInt(elem.style.left);
    var ypos = parseInt(elem.style.top);
    ......
    var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
    movement = setTimeout(repeat, interval)
}

Saya hanya ada satu soalan:

var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";

Dalam perenggan ini, elementID,final_x,final_y,intervalempat parameter dimasukkan. Kecuali yang pertama iaitu rentetan, tiga yang terakhir ialah semua nombor.

Perkara pertama yang saya tidak faham ialah mengapa parameter ini perlu disertakan dalam sebut harga Perkara kedua yang saya tidak faham ialah apa yang tanda tambah lakukan di sini. Soalan lain ialah mengapa rentetan ini seperti elementID disertakan dalam petikan berganda Dalam keadaan apakah ini perlu?

Secara amnya, saya rasa tanda tambah sesuai untuk penyambungan rentetan, tetapi ini jelas tidak berlaku di sini Sepasang tanda petikan adalah ruang bebas Apakah maksud tanda tambah yang dibalut di dalamnya?

PHPzPHPz2755 hari yang lalu601

membalas semua(4)saya akan balas

  • PHP中文网

    PHP中文网2017-05-18 11:01:41

    1. Petikan disertakan dalam koma
    2.123456+"somestring"→"123456somestring"
    3.elementId ialah parameter jenis String, jadi tambahkan petikan

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-18 11:01:41

    Pembolehubah akhirnya ditukar kepada rentetan! Nombor + tanda petikan menukar aksara Jika parameter yang anda perlukan ialah rentetan dan bukannya nombor

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-18 11:01:41

    Rentetan di sini adalah bersamaan dengan penggunaan eval dalam setTimeout, yang merujuk kepada rentetan kod yang anda mahu laksanakan selepas kelewatan milisaat

    balas
    0
  • 世界只因有你

    世界只因有你2017-05-18 11:01:41

    Pertama sekali, tanda tambah di sini memang digunakan untuk penyambungan tali

    var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
    Hasil

    ialah

    var repeat = "moveElement(elementID, final_x, final_y, interval)"

    Hanya lulus pembolehubah rentetan bernama ulang sebagai parameter kepada setTimeout, iaitu, selepas selang milisaat, ulangan akan dilaksanakan

    var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
    movement = setTimeout(repeat, interval)

    Ini sebenarnya pada asasnya sama dengan

    movement = setTimeout(function () {
        moveElement(elementID, final_x, final_y, interval)
    }, interval)

    Sepatutnya ini lebih mudah difahami, bukan?

    Walau bagaimanapun, masih terdapat perbezaan antara kedua-dua kaedah ini Secara amnya, kaedah yang disebut oleh penyoal tidak disyorkan untuk butiran, lihat window.setTimeout, Running string sebagai fungsi dalam javascript setTimeout?

    balas
    0
  • Batalbalas