13
 if (open_date) {
        open_date = get_date_from_string(open_date);
        window.console && console.log(open_date);
        window.console && console.log(cancel_until);

とはwindow.console && console.log? コードに含まれている必要がありますか?このスクリプトを使用すると、IE (すべてのバージョン) では機能しません --> IE は、F12 キーを押した後にのみ JavaScript を実行します。

4

5 に答える 5

17

leftside-expression が の場合、rightside-expression のみが評価されtruthyます。それが論理 AND演算子の仕組みです。

その基本的には

if( window.console ) {
    console.log( open_date );
}

consoleご想像のとおり、オブジェクトはすべてのブラウザー (特にモバイル) で使用できるとは限らないため、これはこのケースの一般的なパターンです。

于 2013-01-28T11:54:51.783 に答える
5

1.) window.console && console.log とは?

console.log は、デバッグに使用されるコンソール オブジェクトを参照します。Firefoxの場合、たとえばfirebugを使用します。

ただし、コンソールが使用できない場合、スクリプトはクラッシュします。そのため、window.console はコンソール オブジェクトが存在するかどうかを確認し、存在する場合はログ機能を使用してデバッグ情報を出力します。

2.) コードに含まれている必要がありますか?

いいえ、デバッグ目的のみです

于 2013-01-28T12:09:34.377 に答える
4
window.console && console.log(open_date); 

上記のコードは、if 条件ステートメントの略です。そこにある必要はありません。これはデバッグ用です。ほとんどのブラウザでは、F-12 を押してブラウザ デバッグ コンソールを開くことができます。Chrome にはデバッグ コンソールが組み込まれています。Firefox には、使用できる FireBug という拡張機能があります。以下は、「&&」を除いた同等のステートメントです。

if (window.console) console.log(open_date); 

これらの「if」ステートメントをあちこちに配置する必要がないように、JavaScript コードの先頭に次のコードを追加することを好みます。それは本当にスペースを節約し、潜在的なエラーを取り除きます.

if (typeof console == "undefined") { window.console = {log: function() {}}; }

上記の Jon Dvorak のコメントには、これを行うエレガントな代替方法が含まれています。

console = window.console || {log:function(){}}
于 2014-10-29T17:32:40.487 に答える
1

Console.logは、ブラウザコンソールにメッセージを記録するブラウザ用のロガーです。編集:Console.logは、InternetExplorerの下位バージョンではサポートされていません

于 2013-01-28T11:55:19.340 に答える