JavaScriptのalert()とconsole.log()の違い

高洛峰
リリース: 2017-02-03 14:45:19
オリジナル
1650 人が閲覧しました

[1]alert()

[1.1] [OK] をクリックしないと、後続のコードは実行を続行できません。

[1.2] アラート出力の場合、alert() は文字列を出力することしかできません。がオブジェクトの場合、 toString() メソッド

例:alert( 1,2,3);//1

[2]console.log()

[2.1]プリントステーションで出力

[2.2] 任意のタイプのデータを出力できます

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

[2.3] 複数のパラメータの書き込みをサポートします

例: console. log(1,2,3)// 1 2 3

ログの結果が違う?

score = [1,2,3];
sortedScore = [];
console.log(score);
sortedScore = score.sort(sortNumber)
console.log(sortedScore);
function sortNumber(a, b) {
  return b - a;
}
ログイン後にコピー

上記の出力:

[3, 2, 1]

[3, 2, 1]

ただし、アラートに変更します:

score = [1,2,3];
sortedScore = [];
alert(score);
sortedScore = score.sort(sortNumber)
alert(sortedScore);
function sortNumber(a, b) {
  return b - a;
}
ログイン後にコピー

上記の出力:

1, 2, 3

3 、2、1

これはなぜですか?それらはすべて、
1、2、3
3、2、1

であるべきではないでしょうか?


いくつかの調査の結果、出力に不適切な最適化を行って、配列などの参照型が発生したときの「遅延」評価に相当する実際の実行を延期したことが原因であることがわかりました。とオブジェクトの場合、上記の問題が発生しました。

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

これは非常に歴史的なバグで、先月の開発バージョンで修正されました。


JavaScriptのalert()とconsole.log()の違いに関連するその他の記事については、PHP中国語Webサイトに注目してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!