2016-11-12 9 views
0

カイル・シンプソンによって、彼はこのことを言う:これはconsole.logの省略形ですか?高度なJavaScriptで

foo; 

そして、それはにconsole.logのためだけのショートカットだこと:

var foo = "bar"; 

は次のように評価することができます。

しかし、試してみると、コンソールに何も表示されません。

なぜですか?

乾杯

+2

おそらくKyle Simpsonが間違っているか、あなたが投稿したものから何かが欠落している可能性があります。 – adeneo

+1

それは「簡略化」自体ではありません。デベロッパーコンソールでそれを実行すると、ステートメントが評価されて返されるが結果は '' bar "'という結果が表示されます。実際のスクリプトでは動作しません。 – vlaz

+0

ブラウザの開発者コンソールからは、このように印刷することはできません。 –

答えて

5

コンソールでと入力し、Enterキーを押しますことを入力すると、コンソールはあなたにfooの値で表現、結果が表示されます。コンソールには、入力した式の値が表示されます。コンソール自体では、入力する必要はほとんどありませんconsole.log。 (コンソールへconsole.log(foo);を入力してEnterを押す場合は理由console.log戻っundefinedコンソールはあなたにその値を示したので、実際には、あなたは、undefined続くfooの値を参照してくださいね。)

コードないでコンソール自体に入力します。いいえ、foo;console.log(foo);の省略形ではありません。 ExpressionStatementは基本的に何もしません。

+0

ありがとうございました。 chromeにあります。var foo = "bar";次にfooの下に。何らかの理由で値を出力しません。 –

+0

@JoeConsterdineは奇妙です。私が起こっていることを考えることができる唯一の理由は、あなたがいるタブが現在無限ループに陥っているかどうかなどです。ページ上のJSの_none_が機能する場合、開発コンソールも機能しません。 [ここで私はそれを実行すると何が起こるか](http://i.imgur.com/9ZlE3dm.png) – vlaz

+1

ああ私の悪い私は今あなたがスクリプトでそれを実行することはできないと言って何を意味する。 私は、実際のコンソールではなく、テキストエディタでやっていました。 あなたはそれを大胆な笑の中に入れます。 これでいいですか?乾杯。 –

2

foo;は、console.log(foo)の略語ではありません。

変数にvar name="mrid"を定義したとします。console.log(name)をコンソールに出力する必要があります。しかし、直接コンソールにnameと入力すると、その値が表示されます。

+0

これはすべてのグローバル変数で機能しませんか? – mrid

関連する問題