Metode penulisan ulang objek jendela bukanlah hal baru. Misalnya, kita mungkin perlu mengubah perilaku peringatan default. Bagaimana cara menulis ulang dengan aman?
Xiaocai melihat bahwa situs web TI yang terkenal ditulis seperti ini:
Salinan kode adalah sebagai berikut:
window.alert = function () {};
atau
Salinan kode adalah sebagai berikut:
alert = function () {};
Bahkan, tulisan ini agak tidak pantas. Ini setara dengan menambahkan atribut peringatan ke objek jendela. Prioritasnya lebih tinggi dari peringatan bawaan dalam sistem, sehingga dapat mencapai efek penulisan ulang, tetapi ini mudah untuk menerobos. Jika Anda menjalankan pernyataan berikut, Anda akan mengembalikan peringatan.
Salinan kode adalah sebagai berikut:
hapus window.alert;
Karena peringatan yang ditulis ulang dengan cara ini hanyalah atribut objek jendela dan dapat dihapus melalui operator hapus.
Bagaimana bisa ditulis ulang secara permanen dan tidak dapat diubah?
Tentukan saja variabel global! Meskipun variabel global juga akan didaftarkan sebagai properti dari objek jendela, mereka tidak dapat dihapus dan mereka benar -benar ada. Kodenya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
var alert = function () {};
Metode penulisan ulang ini tidak akan pernah dipulihkan dan akan aman dan dapat diandalkan!