JavaScript 函数作用域问题

标签 javascript return

请引用以下代码

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将被隐式分配给oCar1oCar2

关于JavaScript 函数作用域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7357333/

相关文章:

javascript - 用js更改字符代码并显示新字符

PHP - 传递函数返回另一个函数

单击按钮后 Javascript 代码消失

java - 返回后调用break函数?

ios - for循环Swift iOS的退出迭代

java - 返回类型错误信息

javascript - 如何在执行map()循环后调用函数

javascript - 当 key 与模块名称相同时,webpack.ProvidePlugin 不起作用

javascript - 如何在我的网站上将我的按钮居中?

javascript - 如何使用 JavaScript 在从外部文件加载广告列表的页面上轮播广告?