Home Web Front-end JS Tutorial Detailed explanation of default parameters in Javascript_Basic knowledge

Detailed explanation of default parameters in Javascript_Basic knowledge

May 16, 2016 pm 04:33 PM
javascript Default parameters

Some languages ​​- like Ruby, CoffeeScript and upcoming JavaScript versions - can declare default parameters when defining a function, like this:

Copy code The code is as follows:

function myFunc(param1, param2 = "second string") {
console.log(param1, param2);
}

// Outputs: "first string" and "second string"
myFunc("first string");

// Outputs: "first string" and "second string version 2"
myFunc("first string", "second string version 2");

Unfortunately, in the current version of javascript, this way of writing is invalid. So, what can we do to achieve this, using our existing toolset?

The simplest solution is like this:

Copy code The code is as follows:

function myFunc(param1, param2) {
If (param2 === undefined) {
         param2 = "second string";
}

console.log(param1, param2);
}

// Outputs: "first string" and "second string version 2"
myFunc("first string", "second string version 2");

The fact is that an omitted parameter is always "undefined" when accessed. This is a good solution if you only have one parameter, but what if you have more than one?

If you have more than one parameter, you can use an object as the parameter, which has the advantage that each parameter has a clear name. If you pass an object parameter, you can declare a default value in the same way.

Copy code The code is as follows:

function myFunc(paramObject) {
var defaultParams = {
         param1: "first string",
         param2: "second string",
        param3: "third string"
};

var finalParams = defaultParams;

// We iterate over each property of the paramObject
for (var key in paramObject) {
// If the current property wasn't inherited, proceed
If (paramObject.hasOwnProperty(key)) {
                                     // If the current property is defined,
                           // add it to finalParams
If (paramObject[key] !== undefined) {
                      finalParams[key] = paramObject[key];
            }
}
}

console.log(finalParams.param1,
                     finalParams.param2,
                      finalParams.param3);
}
myFunc({param1: "My own string"});

This is a bit clumsy. If you use this method in many places, you can write a wrapper function. Fortunately, many libraries now have related methods, such as the extend method in jQuery and Underscore.

The following uses Underscore’s extend method to achieve the same result as above:

Copy code The code is as follows:

function myFunc(paramObject) {
var defaultParams = {
         param1: "first string",
         param2: "second string",
        param3: "third string"
};

var finalParams = _.extend(defaultParams, paramObject);

console.log(finalParams.param1,
                     finalParams.param2,
                      finalParams.param3);
}

// Outputs:
// "My own string" and "second string" and "third string"
myFunc({param1: "My own string"});

This is how you can get default parameters, in current javascript versions.

We welcome criticism and correction of any inaccuracies in the article.

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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Default parameters in C++ function declarations: a comprehensive analysis of their declaration and usage Default parameters in C++ function declarations: a comprehensive analysis of their declaration and usage May 02, 2024 pm 03:09 PM

Default parameters in C++ function declarations: a comprehensive analysis of their declaration and usage

How to implement an online speech recognition system using WebSocket and JavaScript How to implement an online speech recognition system using WebSocket and JavaScript Dec 17, 2023 pm 02:54 PM

How to implement an online speech recognition system using WebSocket and JavaScript

WebSocket and JavaScript: key technologies for implementing real-time monitoring systems WebSocket and JavaScript: key technologies for implementing real-time monitoring systems Dec 17, 2023 pm 05:30 PM

WebSocket and JavaScript: key technologies for implementing real-time monitoring systems

How to implement an online reservation system using WebSocket and JavaScript How to implement an online reservation system using WebSocket and JavaScript Dec 17, 2023 am 09:39 AM

How to implement an online reservation system using WebSocket and JavaScript

How to optimize the use of default parameters and variadic parameters in C++ functions How to optimize the use of default parameters and variadic parameters in C++ functions Apr 20, 2024 am 09:03 AM

How to optimize the use of default parameters and variadic parameters in C++ functions

How to use JavaScript and WebSocket to implement a real-time online ordering system How to use JavaScript and WebSocket to implement a real-time online ordering system Dec 17, 2023 pm 12:09 PM

How to use JavaScript and WebSocket to implement a real-time online ordering system

JavaScript and WebSocket: Building an efficient real-time weather forecasting system JavaScript and WebSocket: Building an efficient real-time weather forecasting system Dec 17, 2023 pm 05:13 PM

JavaScript and WebSocket: Building an efficient real-time weather forecasting system

Simple JavaScript Tutorial: How to Get HTTP Status Code Simple JavaScript Tutorial: How to Get HTTP Status Code Jan 05, 2024 pm 06:08 PM

Simple JavaScript Tutorial: How to Get HTTP Status Code

See all articles