我是Javascript的新手,我正在学习如何使用OOP主体。我坚持分配对象属性,然后再访问它们。 假设我有这个函数将属性赋给对象“Car”。
function assignProps()
{
Car.size="small";
Car.cost="expensive";
}
具有空属性的对象Car,因为它们是从函数中分配的。
var Car =
{
size:"",
cost:"",
returnSize: function()
{
return this.size;
},
returnCost: function()
{
return this.cost;
},
}
现在,我想调用赋值的函数,然后访问Car的属性。我试过这样做,但显然失败了:
function accessProps()
{
assignProps();
console.log(Car.returnSize());
console.log(Car.returnCost());
}
任何帮助将不胜感激。我有一种感觉,这可能与构造函数或原型有关,但由于有很多方法可以在Javascript中创建自定义对象,因此文档非常容易混淆。
编辑:“失败”是指它输出空白而不是新分配的值 编辑:我也试过这样做,它产生了相同的结果。
答案 0 :(得分:1)
您的代码中存在一些错误:
var Car = {
size:"",
cost:""
}
如果你看这个小提琴:http://jsfiddle.net/JskBy/ 它按预期工作。
完整代码:
function assignProps() {
Car.size="small";
Car.cost="expensive";
}
var Car ={
size:"",
cost:""
}
function accessProps(){
assignProps();
console.log(Car.size);
}
assignProps();
accessProps();
答案 1 :(得分:0)
您的汽车对象初始化时出现语法错误,应为
var Car = { size: "", cost: "" };
答案 2 :(得分:0)
第18行,第14栏:额外的逗号。
第20行,第2栏:缺少分号。
尝试使用内置的JSLint / JSHint(例如带附加组件的Notepad ++)获取开发工具,它可能会帮助您解决此类调试问题。