请引用以下代码
function createCar(sColor, iDoors, iMpg) {
var oTempCar = new Object;
oTempCar.color = sColor;
oTempCar.doors = iDoors;
oTempCar.mpg = iMpg;
oTempCar.showColor = function () {
alert(this.color)
};
return oTempCar;
}
var oCar1 = createCar("red", 4, 23);
var oCar2 = createCar("blue", 3, 25);
oCar1.showColor(); //outputs “red”
oCar2.showColor(); //outputs “blue”
我的问题是上面函数中return的主要用途是什么?是否返回该函数创建的对象并将其所有属性分配给 oCar1 和 oCar2 [在我们的示例中] 因为不返回该函数将失败。
最佳答案
返回新创建的对象(oTempCar
)。
如果没有返回
,undefined
将被隐式分配给oCar1
和oCar2
。
关于JavaScript 函数作用域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7357333/