Rumah >hujung hadapan web >tutorial js >Bagaimanakah menggunakan setTimeout() dengan dan tanpa petikan dan kurungan mempengaruhi fungsinya?

Bagaimanakah menggunakan setTimeout() dengan dan tanpa petikan dan kurungan mempengaruhi fungsinya?

Susan Sarandon
Susan Sarandonasal
2024-11-13 00:56:02432semak imbas

How does using setTimeout() with and without quotes and parentheses affect its functionality?

Menggunakan setTimeout() dengan dan Tanpa Petikan dan Tanda Kurung

Pengenalan

JavaScript's setTimeout( ) fungsi membenarkan pembangun menjadualkan fungsi untuk dilaksanakan selepas kelewatan yang ditentukan. Walau bagaimanapun, terdapat cara yang berbeza untuk menggunakan setTimeout(), setiap satu dengan perbezaan yang ketara. Artikel ini bertujuan untuk menjelaskan perbezaan antara menggunakan kurungan, petikan atau kedua-duanya apabila memanggil setTimeout().

Meluluskan Rujukan Fungsi

Argumen utama untuk setTimeout() harus menjadi rujukan kepada fungsi yang akan dilaksanakan selepas kelewatan. Rujukan ini boleh menjadi:

  • Kurungan: setTimeout(function() {...}, 3000);
  • Tiada petikan, tiada kurungan : setTimeout(alertMsg, 3000);
  • Petikan sahaja: Ini tidak disyorkan.

Meluluskan Hujah

Untuk menyampaikan hujah kepada fungsi yang dipanggil, jangan gunakan kaedah petikan dan kurungan. Sebaliknya, gunakan yang berikut:

  • Benamkan panggilan fungsi dalam fungsi panggil balik: setTimeout(function(){ foo(arg1, arg2); }, 1000);
  • Gunakan kaedah tidak serasi penyemak imbas silang: setTimeout(foo, 2000, arg1, arg2);

Konteks Panggilan Balik

Secara lalai, konteks panggil balik ialah objek global (tetingkap). Untuk menukarnya:

  • Gunakan bind: setTimeout(function(){ this === YOUR_CONTEXT; }.bind(YOUR_CONTEXT), 2000);

Keselamatan

Mengirim rentetan ke setTimeout() adalah tidak selamat dan berkecil hati. Ia menjadikan fungsi terdedah kepada pelaksanaan skrip sewenang-wenangnya.

Kesimpulan

Walaupun menggunakan setTimeout() dengan petikan secara teknikal mungkin, ia tidak disyorkan atas sebab keselamatan dan prestasi. Untuk meluluskan fungsi dan hujahnya dengan selamat dan berkesan, gunakan kurungan atau kaedah petikan sahaja yang sesuai. Selain itu, berhati-hati dengan konteks panggil balik dan pertimbangkan untuk menggunakan bind untuk mengawalnya.

Atas ialah kandungan terperinci Bagaimanakah menggunakan setTimeout() dengan dan tanpa petikan dan kurungan mempengaruhi fungsinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn