Penyingkiran arguments.callee.caller Property JavaScript
Harta arguments.callee.caller, yang membenarkan akses kepada pemanggil semasa fungsi, telah ditamatkan dalam JavaScript kerana kelemahan yang wujud.
Implikasi Penamatan
Walaupun penamatannya, sokongan untuk arguments.callee.caller berbeza-beza merentas penyemak imbas. Sesetengah penyemak imbas, seperti Mozilla dan IE, terus menyokongnya selama-lamanya, manakala yang lain, seperti Safari dan Opera, telah menerima pakai sokongan tetapi ketersediaannya tetap tidak boleh dipercayai pada penyemak imbas lama.
Sebab Penamatan
Sebab utama untuk menghentikan argumen.callee.pemanggil berpunca daripada kesan buruknya terhadap pengoptimuman. Dengan merujuk tindanan panggilan, ia menghalang pengoptimuman penting seperti inlining dan rekursi ekor. Tambahan pula, ia boleh membawa kepada tingkah laku yang tidak dijangka dengan mengubah suai nilai "ini" semasa panggilan rekursif.
Pendekatan Alternatif
Dengan pengenalan ungkapan fungsi bernama dalam ECMAScript 3 , penyelesaian yang unggul muncul. Ungkapan fungsi bernama mendayakan panggilan rekursif tanpa memerlukan arguments.callee.caller. Pendekatan ini memberikan banyak kelebihan, termasuk:
Kesimpulan
Pemberhentian arguments.callee.caller dalam JavaScript merupakan keputusan yang dipertimbangkan dengan baik untuk meningkatkan prestasi dan menggalakkan pengoptimuman kod yang lebih cekap. Ungkapan fungsi bernama menawarkan alternatif berdaya maju yang menangani batasan arguments.callee.caller sambil memberikan pelbagai faedah tambahan.
Atas ialah kandungan terperinci Mengapakah Harta `arguments.callee.caller` JavaScript ditamatkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!