Home > Web Front-end > JS Tutorial > js parameter object implements optional parameters and parameter default values

js parameter object implements optional parameters and parameter default values

高洛峰
Release: 2016-11-22 11:24:10
Original
1223 people have browsed it

js parameter object implements optional parameters and parameter default values ​​

The premise of omitting parameters is that the function can identify which parameter you want to pass in. The agreement
1. Omissible parameters are appended
2. After omitting parameters, they cannot be It creates ambiguity with other functions (js does not have this problem)

The program requires you to pass parameters in the order in which they are defined. If there is anything that is not passed on later, it will be omitted. If you want to omit the middle... Sorry, pass in null or undefined yourself.

For javascript, the parameter type can be identified by simple judgment to achieve the effect of omitting intermediate parameters, for example.

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

Here it is simply identified by type. For more complex situations, you can use regular expressions to identify domain, url, email, etc., but it is more troublesome to say, and the code logic is complex and not easy to write.

When there are many parameters and some of them can be omitted, it is recommended to use parameter objects.

ES5 implements optional parameter object

    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")
    });
Copy after login

ES6 implements optional parameter object - syntax sugar destructuring assignment

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


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template