0

話の長短は、ジョン・レシグのブログ(具体的にはhttp://ejohn.org/blog/javascript-trie-performance-analysis/)を読んでいるときに、まったく意味のない行に出くわしたことです。本質的にそれはに要約されます

object = object[key] = something;

(これは、私がリンクした記事の最初のコードブロックにあります。)

これはグーグルで検索するのがかなり難しいことがわかっているので、誰かが私自身のために学ぶための洞察/良いオンラインリソースを提供してくれるなら、私はそれを大いに感謝します。

単一のポイントを明確にするために、複数の割り当てのオブジェクトは同じです。

A = A[key] = something;

おそらく私の質問は、これを行うことのポイントは何ですか?

4

4 に答える 4

0

この行は、object[key]とobjectに何かを割り当てます。あなたはそれを次のように読むことができます:

object[key] = something;
object = object[key];
于 2012-09-24T09:36:39.057 に答える
0

ブラケット表記と呼ばれます

JavaScriptオブジェクトのプロパティには、角かっこ表記を使用してアクセスまたは設定することもできます。各プロパティは、それにアクセスするために使用できる文字列値に関連付けられているため、オブジェクトは連想配列と呼ばれることもあります。したがって、たとえば、次のようにmyCarオブジェクトのプロパティにアクセスできます。

myCar["make"] = "Ford";
myCar["model"] = "Mustang";
myCar["year"] = 1969;

更新ああ、私は2つの等しいを逃しました。-別の回答で言及されている複数の割り当て

注:あなたが望むことはありそうにありません

object=object[somekey]=something

真ん中で使用したオブジェクトを上書きするためですが、

objectA=objectB[somekey]=something

ここで、objectAはobjectB[somekey]と同じタイプになり ます。

于 2012-09-24T09:36:43.147 に答える
0

これは複数割り当てと呼ばれます。

例を見てみましょう:

a = b = 5;

この命令の後、aとbの両方の値は5です。

それは次のようなものです。

a = 5;
b = 5;
于 2012-09-24T09:37:17.000 に答える
0

これは、複数の割り当てとブラケット表記の組み合わせです。

次のように読むこともできます。

// Key is a string value!
var key = 'foobar';
object[key] = something;    
object = something;


// Or, if key is known
object.foobar = something;
object = something;
于 2012-09-24T09:41:54.020 に答える