Rumah > hujung hadapan web > tutorial js > Pengenalan kepada perbezaan antara kemahiran alert() dan console.log()_javascript

Pengenalan kepada perbezaan antara kemahiran alert() dan console.log()_javascript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-05-16 15:42:36
asal
2485 orang telah melayarinya

Ringkasnya, makluman ialah gesaan pop timbul dan console.log ialah log dalam alat penyahpepijatan Berikut ialah senarai terperinci perbezaan antara alert() dan console.log(),

[1]makluman()

[1.1] Ia mempunyai kesan menyekat Jika anda tidak mengklik OK, kod berikutnya tidak boleh terus melaksanakan

[1.2] alert() hanya boleh mengeluarkan rentetan Jika output makluman ialah objek, kaedah toString() akan dipanggil secara automatik

cth. makluman([1,2,3]);//'1,2,3'

[1.3] makluman tidak menyokong penulisan berbilang parameter, dan hanya boleh mengeluarkan nilai pertama

cth. makluman(1,2,3);//1

[2]console.log()

[2.1] Output pada stesen cetak

[2.2] Boleh mencetak sebarang jenis data

cth. console.log([1,2,3]);//[1,2,3]

[2.3] Menyokong penulisan berbilang parameter

cth. console.log(1,2,3)// 1 2 3

Kaedah toString() dalam rantaian prototaip mengeluarkan alert() dan console.log() dan mendapat hasil yang berbeza

<script type="text/javascript">
var a = [1,2,3];
alert(a); //1,2,3
Array.prototype.toString = function(){
  return 'str';
}
alert(a); //str
</script>
Salin selepas log masuk

dan

<script type="text/javascript">
var a = [1,2,3];
console.log(a); //[1,2,3]
Array.prototype.toString = function(){
  return 'str';
}
console.log(a); //[1,2,3]
</script>
Salin selepas log masuk

Sebab mengapa kod di atas menghasilkan hasil yang berbeza adalah seperti berikut:

console.log() boleh mencetak sebarang jenis data. Dan alert() hanya boleh mengeluarkan rentetan Jika output amaran ialah objek, kaedah toString() akan dipanggil secara automatik. Jika anda mahu output console.log() sama dengan alert, anda perlu memanggil toString():

console.log(obj. toString() );

Ia tiada kaitan dengan sama ada anda menulis toString() atau tidak toString() yang anda tulis sendiri hanya mengatasi kaedah lalai toString() objek.

Jika anda tidak mengatasi kaedah toString(), alert() juga akan memanggil kaedah lalai.

Masih ayat yang sama: console.log() boleh mencetak sebarang jenis data dan akan dipanggil kerana anda telah menimpa toString() sendiri. Jika log() hanya boleh mencetak rentetan, maka kaedah log konsol tidak diperlukan.

Sebab utamanya ialah jenis data yang dijangkakan oleh kedua-dua fungsi adalah berbeza. Jenis data yang dijangkakan oleh alert() ialah rentetan. Ini bersamaan dengan menggunakan objek dalam konteks rentetan, dan penukaran yang sepadan secara semula jadi akan dibuat. console.log() jelas menerima sebarang jenis data. Kemudian dia tidak perlu bertukar. Maksudnya, ia tidak perlu diletakkan dalam konteks rentetan. Kemudian OBJ secara semula jadi adalah jenis data awalnya.

Kandungan di atas menyenaraikan perbezaan antara alert() dan console.log() Rakan yang mempunyai idea berbeza dialu-alukan untuk melamar, berkongsi dengan semua orang dan belajar serta maju bersama.

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan