Javascript 理解对象
所以当我学习Javascript时,我确实打算问很多问题 通常我理解变量赋值是如何工作的,但这段代码有点让人困惑,为什么obj[b]=“helloworld”Javascript 理解对象,javascript,object,Javascript,Object,所以当我学习Javascript时,我确实打算问很多问题 通常我理解变量赋值是如何工作的,但这段代码有点让人困惑,为什么obj[b]=“helloworld” var obj={ 答:“你好,世界”, b:42 }; var b=“a”; obj[b];//“你好世界”
var obj={
答:“你好,世界”,
b:42
};
var b=“a”;
obj[b];//“你好世界”<为什么这是你好世界?
obj[“b”];//42
obj[b]
相当于obj['a']
,因为您为变量b
分配了'a'
在JavaScript中,您可以使用如上所述的括号符号(Andrew提到)或使用点符号
obj访问对象属性,例如数组。a
obj[b]
相当于obj['a']
,因为您为变量b
分配了'a'
的值
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"
在JavaScript中,您可以使用如上所述的括号表示法(Andrew提到)或使用点表示法访问对象属性,如数组。a[]表示法允许动态访问对象中的属性/方法
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"
假设你有这样的辞典:
var dict = {
foo : "bar",
hello : "world"
};
function access(obj, property){
return obj[property];
};
console.log(access(dict, "hello"));//world
使用点表示法无法做到这一点。[]表示法允许动态访问对象中的属性/方法 假设你有这样的辞典:
var dict = {
foo : "bar",
hello : "world"
};
function access(obj, property){
return obj[property];
};
console.log(access(dict, "hello"));//world
你不能用点表示法这样做。因为你正在访问
a
属性…?因为你正在访问a
属性…?我明白了,这很有趣,谢谢。它如何知道b=“a”;可能是指物体内部的一个物体,或者它不重要?。这是一个很酷的trickObject键被引用为字符串(带引号)或变量(不带引号)。它如何知道b=“a”;可能是指物体内部的一个物体,或者它不重要?。这是一个很酷的trickObject键被引用为字符串(带引号)或变量(不带引号)。