ホームページ >ウェブフロントエンド >jsチュートリアル >オブジェクトに関する質問の落とし穴 Javascript オブジェクトの理解_Javascript スキル

オブジェクトに関する質問の落とし穴 Javascript オブジェクトの理解_Javascript スキル

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

この記事の例は主に、JavaScript オブジェクトへの理解と注意を引くことを目的としています。実際、これは面接では落とし穴であり、実際のプロジェクトではほとんど使用されません。しかし、警戒を高めるために、次の例を見てみましょう:

コード名

var first = {};
var second = {k:"second"};
var third = {k:"third"};
first[second] = 100;
first[third] = 200;
console.log(first[second])//这里会输出什么内容呢?

この質問を自分で答えたい場合は、以下の説明を読まないでください。

ここではどのような結果が出力されるのでしょうか?ほとんどの人は、結果が 100 であるか、質問に誤りがあるか、あるいは結果が 200 であると考えるかもしれません。

実際、最終結果は 200 です。

なぜ? 2 番目と 3 番目は両方ともオブジェクトであり、両方とも [オブジェクト オブジェクト] なので、最初[2 番目] は最初 [[オブジェクト オブジェクト]] と等価であり、最初 [3 番目] はと等価です。 first[[object object]] したがって、この例では、この式は 2 回割り当てられるため、最終結果は 200 になります。

JavaScript には、注意しなければならない詳細がたくさんあります。おそらく、面接官は面接でどのような質問をすればよいのか分からず、トラップ形式の質問をしているだけなのかもしれません。ただし、しっかりとした基礎を築く必要があります。今後もいくつかの質問を出して説明していきますので、何も恐れることはありません。

簡単な例を通して、みんなの思考を刺激し、JavaScript オブジェクトを学ぶ上で多くのインスピレーションを与えてくれたことを願っています。

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