在javascript中获取对象值

时间:2014-07-03 08:02:52

标签: javascript

嘿伙计们刚接触javascript开发。我一直在使用javascript工作。当我参考并尝试使用javascript对象的代码时,我发现它有错误..代码是

var and = { models:"AN",

 collection:{},

 name: function() { var babe = 5; return babe; } 

}

当我使用and.name( { name:"george",age:20} );调用代码时,它会将输出显示为5

但是,当我打电话给and.name.age时,它显示未定义而不是20

由于我是javasscript的新手,我没有得到错误的东西。希望你们可以帮助我...提前谢谢

3 个答案:

答案 0 :(得分:0)

您的name属性是一个函数,而不是包含" age"的对象。属性...

调用函数将返回return语句中设置的值。

通过名称调用属性将为您提供其值。

我建议你尝试一下关于javascript基础知识的教程来理解差异......

答案 1 :(得分:0)

问题是函数和对象之间的混合:

var and = { models:"AN",

 collection:{},

 name: function() { var babe = 5; return babe; } 

}

and.name = { name:"george",age:20}

alert(and.name.age)

在jsfiddle中试试这个。

这里我用对象更改函数名称。然后我得到你想要的价值。

希望它有所帮助。

答案 2 :(得分:0)

尝试这可能对您有所帮助。

var obj = { models:"AN",
 collection:{},
 person:{},
 changeDetails: function(values) {
    obj.person.name = values.name;
    obj.person.age = values.age;
  } 
};

obj.changeDetails({name:"George",age:20});
console.log(obj.person);