Javascript基础(5)-函数

83 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第25天,点击查看活动详情

把一段相对独立的具有特定功能的代码块封装到 {} 中,形成一个独立的代码块,再给这个代码块起个名字,名字和代码块的组合就是函数,一个函数可以在后续开发中重复使用。

函数的定义

跟变量的定义类似,函数也有自己的定义格式。语法格式:

//命名函数

function 函数名(){ // 函数体 }

function:关键字

函数名:遵循变量的命名规则和规范

():固定格式

{}:封装具有特定功能的代码

函数体:要实现的功能代码

// 定义函数
function fcName() {
    console.log("你好!");
}

注意:函数声明的时候,函数体并不会执行,只有当函数被调用的时候才会执行。

函数的调用

语法格式:

函数名();

fcName();

函数的执行流程

函数调用完毕之后(执行到函数最后的大括号 }),程序会回到调用处,执行完调用处的代码,再往下继续执行!

举例:求1-100之间所有数的和

console.log(1);
function getSum() {
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
        sum = sum + i;
    }
    console.log(sum);
}

console.log(2);
getSum();
console.log('函数调用结束');
//打印结果
1
2
5050
函数调用结束

截图22.png

函数的参数

函数参数的存在可以使函数面对不同情况下都可以执行。

语法格式

function 函数名(形参1, 形参2, 形参...){ // 函数体 }

注意:参数有形式参数和实际参数之分。

  1. 形式参数:在声明一个函数的时候,为了函数的功能更加灵活,有些值是固定不了的,对于这些固定不了的值。我们可以给函数设置参数。这个参数没有具体的值,仅仅起到一个占位置的作用,我们通常称之为形式参数,也叫形参。
  2. 实际参数:如果函数在声明时,设置了形参,那么在函数调用的时候就需要传入对应的参数,我们把传入的参数叫做实际参数,也叫实参。

函数的返回值

当函数执行完的时候,并不是所有时候都要把结果打印。我们期望函数给我一些反馈(比如计算的结果返回进行后续的运算),这个时候可以让函数返回一些东西,也就是返回值。函数通过return返回一个返回值。

function 函数名(形参1, 形参2, 形参x, ...){
    //函数体
    return 返回值;
}
var 变量 = 函数名(实参1, 实参2, 实参3);

函数的调用结果就是返回值,因此我们可以直接对函数调用结果进行操作。

返回值的不同情况:

  1. 如果函数中没有写return,那么函数有默认的返回值:undefined
  2. 如果函数中写了return,但return后面没有任何值,那么函数的返回值也是:undefined
  3. 如果函数中写了return语句,并且return后面跟着一个值,那么该值就是函数的返回值。

注意:在函数的执行过程中,如果遇到return语句,那么执行完return语句之后,函数就直接返回了,即函数执行结束。

匿名函数

没有名字的函数称作匿名函数。如下这种定义函数的方式叫函数表达式,函数表达式等号右边部分的函数没有名字,叫匿名函数。

var 变量名 = function (形参1, 形参2, 形参x, ...){
    //函数体
    [return 返回值;]
}
//调用
var 返回值 = 变量名(实参1, 实参2, 实参x, ...);

自调用函数

匿名函数不能通过直接调用来执行,所以需要将其赋值给一个变量,才能完成调用。除了赋值给变量的方式外,还可以通过自调用的方式来调用(执行)匿名函数。

格式:()();

解释:第一个小括号写的是匿名函数的定义,第二个小括号写的是需要给匿名函数传入的参数

(function (num) {
  console.log(num);
})(168);
//输出结果:168