Dalam bidang peristiwa pemasaan JavaScript, penggunaan setTimeout sering menimbulkan persoalan. Satu aspek tersebut ialah sintaks yang berbeza-beza yang melibatkan petikan dan kurungan.
Apabila menggunakan kurungan dengan setTimeout, seperti dalam:
setTimeout(alertMsg, 3000);
anda sedang menghantar rujukan fungsi sebagai hujah pertama. Ini berfungsi kerana dalam JavaScript, fungsi ialah warga kelas pertama, bermakna ia boleh dihantar seperti mana-mana nilai lain.
Sintaks tanpa petikan dan kurungan:
setTimeout(alertMsg, 3000);
sama dengan yang sebelumnya. Walau bagaimanapun, dalam kes ini, anda menyalin rujukan fungsi. Daripada menghantar rujukan kepada fungsi itu sendiri, anda menyediakan salinan definisi fungsi itu.
Menggunakan kedua-duanya petikan dan kurungan, seperti :
setTimeout("alertMsg()", 3000);
sangat tidak digalakkan. Sintaks ini adalah sisa versi JavaScript awal dan terdedah kepada kelemahan keselamatan. Ia cuba melaksanakan rentetan "alertMsg()" sebagai kod, yang boleh membawa kepada akibat yang tidak diingini.
Untuk mengelakkan kekeliruan dan memastikan keselamatan, pendekatan yang disyorkan ialah sentiasa menggunakan setTimeout seperti berikut:
setTimeout(functionName, delay);
di mana functionName ialah nama fungsi yang anda ingin laksanakan dan tunda ialah masa dalam milisaat selepas itu fungsi akan dipanggil. Sintaks ini memastikan kejelasan, mengelakkan potensi risiko keselamatan dan menyediakan keserasian merentas persekitaran JavaScript yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Petikan dan Tanda Kurung Mempengaruhi Pelaksanaan `setTimeout` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!