在Python中,字典是映射类型的一种形式。可以使用逗号分隔的名称:值对(用花括号括起来)序列来初始化它们。使用涉及方括号的数组符号访问它们。密钥可以是任何可散列的,包括数字和字符串。
在Javascript中,字典与对象相同。可以使用与Python相同的语法进行初始化。键可以是数字,字符串或标识符。由于字典也是一个对象,因此可以使用数组表示法(例如b [i])或使用属性表示法(例如egbi)来访问元素。
考虑在初始化程序中使用的标识符,例如
b = {i:j}
在Python中,i和j均被评估,但在Javascript中,仅j被评估。在Javascript中,您还可以使用标识符i来写点表示法。因此,在Python中,
i='k'
j=1
b = {i:j}
b['k'] # -> 1
在Javascript中,
i='k'
j=1
b = {i:j}
b['i'] // -> 1
b.i // -> 1
// b[i], b['k'] and b.k are not defined
在Javascript中,在所有情况下都使用点表示法标识符与使用“看起来像”数组表示法标识符的字符串完全相同。因此,b = {‘i’:1}; b [‘i’] //-> 1 bi //-> 1在字典中使用数字或布尔值时,Javascript将使用数字或布尔值的字符串表示形式访问元素。在Python中不是这样- 字符串和数字(??或布尔值)是不同的哈希值。