嘿伙计们刚接触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的新手,我没有得到错误的东西。希望你们可以帮助我...提前谢谢
答案 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);