目录
函数是一个独立的功能模块,可以重复使用的代码块,维护方便。
1.如何使用函数
函数在使用时分为两步:
(1)声明函数:定义函数
function 函数名([参数]){
函数体语句;
}
(1)'function':是关键字,必须小写。
(2)'函数名':用户标识符,建议采用驼峰命名(第一个单词是动词,后面的单词首字母大写)。
(3)'参数':函数可以有参数也可以没有参数,'()'不能省略的。
(4)'{}':表示函数的作用范围。
注意:函数定义后并不会执行,只有当函数调用后才会执行。
(2)调用函数
(1)直接调用: 函数名(参数)
(2)触发事件调用: 事件名 = 函数名(参数)
举例如下
//定义函数
function getSum(num1,num2) {
var sum = num1 + num2;
return sum;
}
//调用函数
getSum(11,22); //直接调用
console.log(getSum(11,22));
var s = getSum(33,12); //触发事件调用
console.log(s);
3.函数的参数
(1)形参(形式参数):在函数定义时出现在函数首部的参数,只是占位符,没有实际的数据。
(2)实参(实在参数): 在函数调用时出现在函数首部的参数,是有确定值的变量或常量。
(3)参数之间的数据传递:实参将数据传递给形参(按值传递),传递的方向是单向的(实参-->形参)。
数据传递时实参和形参按从左到右一一对应匹配与名称无关。
//参数传递时单向的:实参-->形参。javascript中形参发生改变不会影响实参。
function swap(a,b){
console.log("形参1:a="+a+",b="+b);
var temp = a;
a = b;
b = temp;
console.log("形参2:a="+a+",b="+b); //3.交换形参的位置,打印形参2
}
var t = 10,k = 25;
console.log("实参1:t="+t+",k="+k); //1.打印实参
swap(t,k); //2.调用函数,打印形参1
console.log("实参2:t="+t+",k="+k);//4.打印实参2
(4)参数的数量:函数的实参和形参的个数可以不同。
A、实参的个数多于形参的个数:函数正常运行,多余的实参被忽略。
function fun(a,b){
console.log("a="+a+",b="+b);
}
var i=2,j=3,c=4 //三个实参
fun(i,j,c)
B、实参的个数少于形参的个数: 多余的形参会变成undefined的变量。
function fun(a,b){
console.log("a="+a+",b="+b);
}
var i=2,j=3,c=4 //三个实参
fun(i);
4. 函数的返回值
函数可以有返回值,也可以没有返回值。
(1)有返回值的函数:函数体中通过return语法返回一个值,这个决定程序下一步操作。
举例如下:
//有返回值的函数:计算n!
function fun(n){
var s = 1;
for(var k=2;k<=n;k++){
s = s*k;
}
return s;
}
var t = 5;
console.log("5!=",fun(t));
(2)无返回值的函数:函数只实现某种功能,不需要返回值(函数体中没有return语句)。
5.arguments的使用
是JavaScript的一个内置对象(是一个数组),保存了调用函数时传递的所有实参。当不确定函数接收了多少个实参时,可以用arguments获取实参。
function fn(){
console.log(arguments); //输出所有的实参
console.log(arguments.length); //输出实参的个数
console.log(arguments[1]); //输出第二个实参
}
fn(1001,'xx大学',2021)