因此,当我学习Javascript时,我打算提出大量问题
通常我理解变量赋值如何工作但是这个代码有点令人困惑为什么obj [b] =“hello world”?
var obj = {
a: "hello world",
b: 42
};
var b = "a" ;
obj[b]; // "hello world" < why is this Hello world?
obj["b"]; // 42
答案 0 :(得分:2)
obj[b]
相当于obj['a']
,因为您为变量b
指定了值'a'
在JavaScript中,您可以使用括号表示法(由安德鲁提及)访问对象属性(如数组)或使用点符号obj.a
。
答案 1 :(得分:2)
var obj = {
a: "hello world",
b: 42
};
var b = "a" ; // this creates a new variable with string value "a"
obj[b]; // this references the object property having the string value of
// variable b, which is "a"
答案 2 :(得分:2)
[]表示法允许动态访问对象中的属性/方法。
假设你有这个词典:
var dict = {
foo : "bar",
hello : "world"
};
function access(obj, property){
return obj[property];
};
console.log(access(dict, "hello"));//world
你不能用点符号来做到这一点。