不熟悉的Javascript语法

不熟悉的Javascript语法,javascript,syntax,Javascript,Syntax,长话短说,在阅读约翰·雷西格(特别是)的博客时,我遇到了一句对我来说毫无意义的话。基本上可以归结为 object = object[key] = something; (这可以在我链接的文章的第一个代码块中找到。) 这对谷歌来说相当困难,所以如果有人能提供一些见解/一个好的在线资源让我自己学习,我将不胜感激 要在单个点上分类,多重赋值中的对象是相同的,即 A = A[key] = something; 也许我的问题应该是,这样做的意义是什么?这行为object[key]和object分配了一

长话短说,在阅读约翰·雷西格(特别是)的博客时,我遇到了一句对我来说毫无意义的话。基本上可以归结为

object = object[key] = something;
(这可以在我链接的文章的第一个代码块中找到。)

这对谷歌来说相当困难,所以如果有人能提供一些见解/一个好的在线资源让我自己学习,我将不胜感激

要在单个点上分类,多重赋值中的对象是相同的,即

A = A[key] = something;

也许我的问题应该是,这样做的意义是什么?

这行为object[key]和object分配了一些内容。你可以这样读:

object[key] = something;
object = object[key];
它被称为

还可以使用 括号符号。对象有时称为关联数组, 因为每个属性都与可以使用的字符串值相关联 访问它。例如,您可以访问 myCar对象如下所示:

更新啊,我错过了两个相等的数字另一个答案中提到的多项作业

注意:您不太可能希望

object=object[somekey]=something
因为它会覆盖你刚才在中间使用的对象,而不是

objectA=objectB[somekey]=something

其中objectA与objectB[somekey]某物的类型相同,称为多重赋值

让我们举个例子:

a = b = 5;
此指令后,a和b的值均为5

这就像做:

a = 5;
b = 5;

它是多重赋值和括号表示法的组合

你也可以这样读:

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


// Or, if key is known
object.foobar = something;
object = something;

你错了,
a=b=5
就像
b=5;a=5,而不是
a=5;b=5
。对,或者更好。。。b=5;a=b;我对我的问题稍加修改,以说明每个作业的对象都是相同的。很好,你可以把两个答案合并成一个答案——做得好:|标记为答案1)是第一个2)清晰简洁的答案!谢谢
// Key is a string value!
var key = 'foobar';
object[key] = something;    
object = something;


// Or, if key is known
object.foobar = something;
object = something;