Rumah > hujung hadapan web > tutorial js > Perbezaan antara alert() dan console.log() dalam kemahiran javascript_javascript

Perbezaan antara alert() dan console.log() dalam kemahiran javascript_javascript

WBOY
Lepaskan: 2016-05-16 15:42:47
asal
1317 orang telah melayarinya

[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

Hasil makluman dan console.log adalah berbeza?

score = [1,2,3];
sortedScore = [];
console.log(score);
sortedScore = score.sort(sortNumber)
console.log(sortedScore);
function sortNumber(a, b) {
  return b - a;
}

Salin selepas log masuk

Output di atas:
[3, 2, 1]
[3, 2, 1]

Tetapi tukar kepada makluman:

score = [1,2,3];
sortedScore = [];
alert(score);
sortedScore = score.sort(sortNumber)
alert(sortedScore);
function sortNumber(a, b) {
  return b - a;
}
Salin selepas log masuk

Output di atas:
1, 2, 3
3, 2, 1

Mengapa ini berlaku? Ia tidak sepatutnya:
1, 2, 3
3, 2, 1
?

Selepas beberapa penyelidikan, didapati bahawa ia adalah masalah dengan pelaksanaan krom Kami membuat pengoptimuman yang tidak sesuai untuk output dan menangguhkan pelaksanaan sebenar console.log, yang bersamaan dengan penilaian "malas" apabila menghadapi jenis rujukan seperti. tatasusunan dan objek Masalah di atas timbul.

https://bugs.webkit.org/show_bug.cgi?id=35801

Ini adalah BUG yang sangat bersejarah, ​​yang telah ditetapkan dalam versi pembangunan bulan lepas.

Label berkaitan:
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