Rumah  >  Artikel  >  hujung hadapan web  >  Adakah window.console.log.apply dan window.console.log.call Ditakrifkan dalam IE9?

Adakah window.console.log.apply dan window.console.log.call Ditakrifkan dalam IE9?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 13:03:03636semak imbas

Is window.console.log.apply and window.console.log.call Defined in IE9?

IE9's Console.log: Ketersediaan dan Fungsi

Sokongan Internet Explorer 9 untuk window.console.log ialah topik yang sering menimbulkan persoalan. Artikel ini menyelidiki keadaan di mana window.console.log boleh diakses dan meneroka ketidakkonsistenan tertentu dengan window.console.log.apply dan window.console.log.call.

When Is window.console .log Ditakrifkan dalam IE9?

Dalam Internet Explorer 9 (dan 8), objek konsol muncul hanya apabila Alat Pembangun diaktifkan untuk tab tertentu. Menutup tetingkap Alat Pembangun dalam tab itu mengekalkan akses kepada objek konsol untuk halaman seterusnya. Walau bagaimanapun, membuka tab baharu memerlukan mengaktifkan Alat Pembangun secara manual untuk mendedahkan objek konsol.

Tetingkap tidak ditentukan.console.log.apply dan window.console.log.call

Objek konsol dalam IE9 bukan sebahagian daripada mana-mana standard yang ditetapkan dan dianggap sebagai lanjutan kepada DOM. Tidak seperti fungsi dan objek ECMAScript asli, objek konsol tidak disambungkan secara semula jadi kepada prototaip Objek atau kaedahnya, seperti Function.apply dan Function.call. Perbezaan ini menerangkan sebab kaedah ini tidak ditentukan untuk fungsi objek konsol dalam IE9.

Pelaksanaan Penyemak Imbas Lain

Dalam versi Internet Explorer yang kemudian, kebanyakan objek DOM mewarisi daripada ECMAScript asli jenis, meningkatkan fungsinya. Walau bagaimanapun, oleh kerana Alat Pembangun adalah lanjutan kepada IE, mereka tidak mendapat manfaat daripada penambahbaikan ini, mengakibatkan ketiadaan kaedah permohonan dan panggilan berterusan untuk fungsi objek konsol.

Menggunakan Kaedah Fungsi dengan Objek konsol Fungsi

Sementara window.console.log.apply dan window.console.log.call tidak boleh diakses secara langsung dalam IE9, masih boleh menggunakan kaedah Function.prototype melalui fungsi bind():

var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"

Atas ialah kandungan terperinci Adakah window.console.log.apply dan window.console.log.call Ditakrifkan dalam IE9?. 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