JavaScript的函数
什么是函数
在JavaScript中,函数是可调用的代码块,它们可以接受输入(通过参数)并生成输出(通过返回值)。
JavaScript中的函数包括内置函数和自定义函数。内置函数是由JavaScript提供的函数库,如console.log,而自定义函数是由程序员创建的函数。
声明一个函数
在JavaScript中,函数可以通过函数声明和函数表达式两种方式进行声明。
函数声明
函数声明是指用function关键字进行函数定义。
function functionName(parameters) {
// 函数体
}
其中,functionName是函数的名字,parameters是函数的参数列表,函数体是一系列JavaScript语句,可以用来实现函数的功能。
例如,我们定义一个函数用来计算两个数的和:
function add(num1, num2) {
return num1 + num2;
}
函数表达式
函数表达式是通过将一个函数作为表达式分配给变量来定义函数。
var functionName = function(parameters) {
// 函数体
}
例如,我们定义一个函数用来计算两个数的平均值:
var average = function(num1, num2) {
return (num1 + num2) / 2;
}
调用函数
在JavaScript中,函数必须先声明后调用。
调用函数的基本语法
调用函数的基本语法是函数名后跟一对圆括号,圆括号内是传递给函数的参数。
functionName(argument1, argument2, ...)
例如,我们调用之前声明的add函数计算1和2的和:
add(1, 2); // 返回3
函数的返回值
函数可以使用return语句返回值。
例如,我们使用之前声明的average函数计算1和2的平均值,并将结果赋值给变量result:
var result = average(1, 2);
在这个例子中,average函数返回(1+2)/2=1.5,result变量将保存这个结果。
函数的参数
函数可以定义参数,参数可以让函数接收外部的数据并进行计算,一个函数可以定义多个参数,参数之间使用逗号分隔。
默认参数
在ES6中,可以为函数定义默认参数,当函数没有传入参数时,将使用默认值。
function functionName(parameter1 = defaultValue1, parameter2 = defaultValue2, ...) {
// 函数体
}
例如,我们定义一个函数用来计算一个数的平方,当没有传入参数时,默认计算1的平方:
function square(num = 1) {
return num * num;
}
square(); // 返回1
square(2); // 返回4
剩余参数
在ES6中,可以使用剩余参数来接受传递给函数的不定数量的参数。剩余参数是一个数组,包含传递给函数的所有参数。
function functionName(...parameters) {
// 函数体
}
例如,我们定义一个函数用来计算任意数量的数的和:
function sum(...nums) {
return nums.reduce((a, b) => a + b);
}
sum(1, 2, 3); // 返回6
sum(1, 2, 3, 4, 5); // 返回15
闭包
在JavaScript中,函数可以返回另一个函数,这就是闭包。闭包可以访问父函数的变量和参数。
例如,我们定义一个函数用来计算任意数的平方和,然后返回一个函数,该函数可以接受一个数作为参数,并将该数与之前传递给父函数的数相加,然后返回它们的平方和:
function squareSum(num1) {
return function(num2) {
return (num1 + num2) * (num1 + num2);
};
}
var sum1 = squareSum(1);
console.log(sum1(2)); // 返回9,即(1+2)的平方
console.log(sum1(3)); // 返回16,即(1+3)的平方
var sum4 = squareSum(4);
console.log(sum4(2)); // 返回36,即(4+2)的平方
console.log(sum4(3)); // 返回49,即(4+3)的平方
示例
示例1:使用函数声明和调用函数
// 声明一个函数用来计算货币兑换率
function exchangeRate(from, to, rate) {
console.log(`1 ${from} = ${rate} ${to}`);
}
// 调用exchangeRate函数
exchangeRate('USD', 'JPY', 111.28); // 输出1 USD = 111.28 JPY
在这个例子中,我们声明了一个函数exchangeRate,该函数接受三个参数from、to和rate,然后使用console.log函数输出兑换率。然后我们调用exchangeRate函数并传递了三个参数'USD'、'JPY'和111.28。
示例2:使用函数表达式、返回值和默认参数
// 用函数表达式定义一个函数,用来计算一个数的平方
var square = function(num = 0) {
return num * num;
};
// 在控制台中输出结果
console.log(square(2)); // 输出4
console.log(square()); // 输出0
在这个例子中,我们使用函数表达式定义了一个函数square,该函数有一个默认参数num=0,如果没有传递参数,则使用默认值0。当传递参数2时,函数square返回2的平方4,并使用console.log将结果输出到控制台。当没有传递参数时,函数square返回0,并使用console.log将结果输出到控制台。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript的函数 - Python技术站