Übergibt Javascript einen Verweis?

Übergibt Javascript Referenzen oder Werte? Hier ist ein Beispiel vonJavascript: Die guten Teile. Ich bin sehr verwirrtmy Parameter für die Rechteckfunktion. Es ist tatsächlich soundefinedund innerhalb der Funktion neu definiert. Es gibt keine Originalreferenz. Wenn ich es aus dem Funktionsparameter entferne, kann die Innenbereichsfunktion nicht darauf zugreifen.

Ist es eine Schließung? Es wird jedoch keine Funktion zurückgegeben.

var shape = function (config) {
    var that = {};
    that.name = config.name || "";
    that.area = function () {
        return 0;
    };
    return that;
};
var rectangle = function (config, my) {
    my = my || {};
    my.l = config.length || 1;
    my.w = config.width || 1;
    var that = shape(config);
    that.area = function () {
        return my.l * my.w;
    };
    return that;
};
myShape = shape({
    name: "Unhnown"
});
myRec = rectangle({
    name: "Rectangle",
    length: 4,
    width: 6
});
console.log(myShape.name + " area is " + myShape.area() + " " + myRec.name + " area is " + myRec.area());

Antworten auf die Frage(12)

Ihre Antwort auf die Frage