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

Patricia Arquette
Lepaskan: 2024-11-11 13:03:03
asal
633 orang telah melayarinya

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"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan