JavaScript函数默认参数

JavaScript函数默认参数教程

JavaScript函数参数,为我们提供了默认参数的机制,即我们在调用 函数 时,如果不传入参数,则使用我们定义的默认参数的值。

JavaScript 函数的默认参数必须放在函数参数列表的最后,且 JavaScript 的默认参数可以是任意多个。

JavaScript函数默认参数详解

语法

function funcName(param1, param2=value){ 执行语句... return 返回值 } funcName(p1, p2) funcName(p1)

说明

我们定义了一个函数,函数名为 funcName,该函数有两个参数,其中,第二个参数是一个带默认值的参数,默认值为 value。

接着,在调用该函数时,我们可以传入两个参数,也可以传入一个参数,传入两个参数,那么形参 param1 的值就为 p1,形参 param2 的值就为 p2。

如果,我们调用时,传入一个参数,那么形参 param1 的值就为 p1,形参 param2 的值就为默认值 value。

JavaScript函数多个默认参数详解

语法

function funcName(param1 = value1, param2 = value2){ 执行语句... return 返回值 } funcName(p1, p2) funcName(p1) funcName()

说明

我们定义了一个函数,函数名为 funcName,该函数有两个参数,其中,第一个参数和第二个参数都带默认值的参数,默认值分别为 value1 和 value2。

接着,在调用该函数时,我们可以传入两个参数,也可以传入一个参数,甚至可以不传入任何参数。

案例

JavaScript函数默认参数

JavaScript函数支持默认参数

<!DOCTYPE html> <html> <head> <title>JavaScript函数默认参数</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); function mySum(a, b = 100){ var sum = 0 for(var i = a; i <= b; i++){ sum += i; } return sum; } var ret = mySum(1, 50); console.log("Sum =", ret); ret = mySum(1); console.log("Sum =", ret); </script> </head> </html>

程序运行后,控制台输出如下:

06_javascript函数默认参数.png

我们定义了一个函数 mySum,该函数传入两个参数 a 和 b,该函数实现的是求 a 到 b 之间所有数的和,并通过 返回值 返回求得的和。

其中,mySum 函数的第二个参数有一个默认值 100,即,如果我们不传递第二个参数,那么就使用默认的 100。

最后,我们两次调用了 mySum 函数,第一次调用时,传入了两个参数 1 和 50,因此求出了 1 到 50 的和,第二次调用时,我们只传递了一个参数 1,因此第二个参数使用默认值 100,最后求出了 1 到 100 的和。

因此,当我们定义函数时,如果使用了函数的默认参数,那么有默认参数的参数不传递值时,会使用默认值。

JavaScript函数多个默认参数

JavaScript函数支持多个默认参数

<!DOCTYPE html> <html> <head> <title>JavaScript函数默认参数</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); function mySum(a = 1, b = 100){ var sum = 0 for(var i = a; i <= b; i++){ sum += i; } return sum; } var ret = mySum(10, 50); console.log("Sum =", ret); ret = mySum(50); console.log("Sum =", ret); ret = mySum(); console.log("Sum =", ret); </script> </head> </html>

程序运行后,控制台输出如下:

07_javascript函数默认参数.png

我们定义了一个函数 mySum,该函数传入两个参数 a 和 b,该函数实现的是求 a 到 b 之间所有数的和,并通过返回值返回求得的和。

其中,mySum 函数的第一个参数和第二个参数都有一个默认值,第一个参数的默认值为 1,第二个参数的默认值为 100,即,如果我们不传递第一个参数,那么就使用默认的 1,如果我们不传递第二个参数,那么就使用默认的 100。

最后,我们三次调用了 mySum 函数,第一次调用时,传入了两个参数 10 和 50,因此求出了 10 到 50 的和,第二次调用时,我们只传递了一个参数 50,因此第二个参数使用默认值 100,最后求出了 50 到 100 的和,第三次调用时,我们没有传递任何参数,因此第一个参数使用默认的 1,第二个参数使用默认值 100,最后求出了 1 到 100 的和。

JavaScript函数默认参数

JavaScript函数默认参数,必须放在参数列表最后

<!DOCTYPE html> <html> <head> <title>JavaScript函数默认参数</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); function sub(a = 1, b){ return a - b; } var ret = sub(10); console.log("Sub =", ret); </script> </head> </html>

程序运行后,控制台输出如下:

08_javascript函数默认参数.png

我们定义了一个函数 sub,该函数传入两个参数 a 和 b,其中第一个参数使用了默认参数,而第二个参数没有使用默认参数。因此,程序报错,因为函数的默认参数必须放在参数列表的最后。

JavaScript函数默认参数总结

JavaScript 函数的默认参数必须放在函数参数列表的最后,且 JavaScript 的默认参数可以是任意多个。JavaScript函数默认参数语法:

function funcName(param1, param2=value){ 执行语句... return 返回值 } funcName(p1, p2) funcName(p1)