Heim >Web-Frontend >js-Tutorial >Das js-Parameterobjekt implementiert optionale Parameter und Parameterstandardwerte

Das js-Parameterobjekt implementiert optionale Parameter und Parameterstandardwerte

高洛峰
高洛峰Original
2016-11-22 11:24:101276Durchsuche

JS-Parameterobjekt implementiert optionale Parameter und Parameter-Standardwerte

Die Voraussetzung für das Weglassen von Parametern ist, dass die Funktion identifizieren kann, welchen Parameter Sie übergeben möchten. Vereinbarung
1 Nach den ausgelassenen Parametern festlegen
2. Das Weglassen von Parametern kann nicht zu Mehrdeutigkeiten mit anderen Funktionen führen (js hat dieses Problem nicht)

Das Programm erfordert, dass Sie Parameter in der Reihenfolge übergeben, in der sie definiert sind. Was später nicht weitergegeben wird, wird weggelassen. Wenn Sie die Mitte weglassen möchten ... Übergeben Sie leider selbst null oder undefiniert.

Bei Javascript kann der Parametertyp durch einfache Beurteilung identifiziert werden, um beispielsweise den Effekt zu erzielen, dass Zwischenparameter weggelassen werden.

    var set = function(name, date, age) {
    if (typeof date === "number") {
        age = date;
        date = undefined;
    }
    // ....
}

Hier wird einfach nach Typ identifiziert. In komplexeren Situationen können Sie reguläre Ausdrücke verwenden, um Domäne, URL, E-Mail usw. zu identifizieren. Dies ist jedoch schwieriger zu sagen und die Codelogik ist komplex und nicht einfach zu schreiben.

Wenn viele Parameter vorhanden sind und einige davon weggelassen werden können, wird die Verwendung von Parameterobjekten empfohlen.

ES5 implementiert ein optionales Parameterobjekt

    var CookieUtil = {
    set: function(args) {
        var name = args.name;
        var value = args.value;
        var expires = args.expires;
        var path = args.path;
        var domain = args.domain;
        var secure = args.secure;

        // ...
    }
}

    CookieUtil.set({
        name: "name",
        value: "Nicholas",
        path: "/books/projs/",
        domain: "www.wrox.com",
        expires: new Date("January 1, 2010")
    });

ES6 implementiert ein optionales Parameterobjekt – Syntax-Zucker-Destrukturierungszuweisung

    function doSome({a,b=2,c}){
    console.log(a,b,c)
    }
    doSome({a:5,c:22})
    // 5 2 22


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn