不熟悉的Javascript语法

时间:2012-09-24 09:33:58

标签: javascript syntax

故事的长短不一,在阅读John Resig的博客(特别是http://ejohn.org/blog/javascript-trie-performance-analysis/)时,我遇到了一条对我来说毫无意义的线条。基本上归结为

object = object[key] = something;

(这可以在我链接的文章的第一个代码块中找到。)

这已经证明谷歌相当困难,所以如果有人能提供一些见解/一个良好的在线资源供我自己学习,我会非常感激。

要对单个点进行处理,多重赋值中的对象即相同,即

A = A[key] = something;

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

4 个答案:

答案 0 :(得分:0)

该行为object [key]和object指定了一些东西。您可以这样阅读:

object[key] = something;
object = object[key];

答案 1 :(得分:0)

它被称为Bracket notation

  

也可以使用a访问或设置JavaScript对象的属性   括号表示法。对象有时被称为关联数组,   因为每个属性都与可以使用的字符串值相关联   访问它。因此,例如,您可以访问该属性   myCar对象如下:

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

更新啊,我错过了两个等于。 - 另一个答案中提到的多项任务

注意:您不太可能想要

object=object[somekey]=something

因为它会覆盖你刚刚在中间使用的对象而不是

objectA=objectB[somekey]=something

其中objectA与objectB的类型相同[somekey] 某些

答案 2 :(得分:0)

这称为多重作业。

我们举个例子:

a = b = 5;

在此说明之后, a和b 的值 5

就像在做:

a = 5;
b = 5;

答案 3 :(得分:0)

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

您也可以这样阅读:

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


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