ホームページ  >  記事  >  ウェブフロントエンド  >  alert() と console.log()_javascript スキルの違いの概要

alert() と console.log()_javascript スキルの違いの概要

WBOY
WBOYオリジナル
2016-05-16 15:42:362400ブラウズ

簡単に言うと、alert はポップアップ プロンプトであり、console.log はデバッグ ツールのログです。以下は、alert() と console.log() の違いの詳細なリストです。

[1]alert()

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

[1.2]alert() は文字列のみを出力できます。アラート出力がオブジェクトの場合、toString() メソッドが自動的に呼び出されます。

例:alert([1,2,3]);//'1,2,3'

[1.3] アラートは複数のパラメーターの書き込みをサポートしておらず、最初の値のみを出力できます

例: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


プロトタイプチェーンの toString() メソッドは、alert() と console.log() を出力し、異なる結果を取得します

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

<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>

上記のコードが異なる結果を出力する理由は次のとおりです。

console.log() はあらゆる種類のデータを出力できます。また、alert() は文字列のみを出力できます。アラート出力がオブジェクトの場合は、toString() メソッドが自動的に呼び出されます。 console.log() の出力をアラートと同じにしたい場合は、toString():

を呼び出す必要があります。

console.log(obj.toString() );

toString() を記述するかどうかとは関係ありません。自分で記述する toString() は、オブジェクトのデフォルトの toString() メソッドをオーバーライドするだけです。


toString() メソッドをオーバーライドしない場合、alert() はデフォルトのメソッドも呼び出します。


同じ文: console.log() はあらゆる種類のデータを出力でき、toString() を自分でオーバーライドしたため呼び出されます。 log() が文字列のみを出力できる場合、コンソールの log メソッドは必要ありません。

主な理由は、2 つの関数で予期されるデータ型が異なることです。 alert() で予期されるデータ型は文字列です。これは文字列コンテキストでオブジェクトを使用することと同等であり、対応する変換が自然に行われます。 console.log() は明らかにあらゆるタイプのデータを受け入れます。そうすれば彼は切り替える必要はありません。つまり、文字列コンテキストに配置する必要はありません。したがって、当然 OBJ が初期データ型になります。

上記の内容は、alert() と console.log() の違いをリストしたもので、さまざまなアイデアを持つ友人が提案し、みんなと共有し、一緒に学び、進歩することを歓迎します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。