0

我是 Javascript 新手,我正在学习如何使用 OOP 原则。我坚持分配对象属性,然后再访问它们。假设我有一个将属性分配给对象“汽车”的函数。

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 中有很多方法可以创建自定义对象,因此文档非常混乱。

编辑:“失败”是指它输出空白而不是新分配的值编辑:我也尝试过这样做,并且产生了相同的结果。

4

3 回答 3

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();
于 2013-06-21T14:39:23.617 回答
0

您的汽车对象初始化有语法错误,应该是

var Car = { size: "", cost: "" };
于 2013-06-21T14:41:07.073 回答
0

第 18 行,第 14 列:额外的逗号。

第 20 行,第 2 列:缺少分号。

尝试使用内置 JSLint/JSHint 的开发工具(例如带有附加组件的 Notepad++),它可能会帮助您解决此类问题。

于 2013-06-21T17:13:40.203 回答