js 函数入门

JavaScript 函数是 JavaScript 编程中非常重要的概念,它允许你将代码块封装起来,以便在需要时重复使用。函数可以接受参数,执行特定的操作,并返回结果。下面是对 JavaScript 函数的详细讲解:

1. 函数的定义

在 JavaScript 中,函数可以通过多种方式定义。最常见的方式是使用 function 关键字。

1.1 函数声明
function functionName(parameters) {
    // 函数体
    return result; // 可选
}

functionName 是函数的名称。
parameters 是传递给函数的参数列表,用逗号分隔。
return 语句用于返回函数的结果。如果没有 return 语句,函数默认返回 undefined

示例:

function add(a, b) {
    return a + b;
}
console.log(add(2, 3)); // 输出: 5
1.2 函数表达式

函数表达式是将函数赋值给一个变量或常量。

const functionName = function(parameters) {
    // 函数体
    return result; // 可选
};

示例:

const multiply = function(a, b) {
    return a * b;
};
console.log(multiply(2, 3)); // 输出: 6
1.3 箭头函数(ES6)

箭头函数是 ES6 引入的一种简洁的函数语法。

const functionName = (parameters) => {
    // 函数体
    return result; // 可选
};

如果函数体只有一行代码,可以省略 {}return 关键字。

const functionName = (parameters) => expression;

示例:

const divide = (a, b) => a / b;
console.log(divide(6, 3)); // 输出: 2

2. 函数的调用

定义函数后,可以通过函数名加括号 () 来调用函数,并传递参数(如果有的话)。

示例:

function greet(name) {
    return "Hello, " + name + "!";
}
console.log(greet("Alice")); // 输出: Hello, Alice!

3. 函数参数

函数可以接受零个或多个参数。参数是函数内部的局部变量,用于接收传递给函数的值。

3.1 默认参数(ES6)

可以为函数参数设置默认值,当调用函数时没有传递该参数时,将使用默认值。

function greet(name = "Guest") {
    return "Hello, " + name + "!";
}
console.log(greet()); // 输出: Hello, Guest!
console.log(greet("Alice")); // 输出: Hello, Alice!
3.2 剩余参数(ES6)

剩余参数允许你将不定数量的参数表示为一个数组。

function sum(...numbers) {
    return numbers.reduce((acc, curr) => acc + curr, 0);
}
console.log(sum(1, 2, 3, 4)); // 输出: 10

4. 返回值

函数可以通过 return 语句返回一个值。如果没有 return 语句,函数默认返回 undefined

示例:

function isEven(num) {
    return num % 2 === 0;
}
console.log(isEven(4)); // 输出: true
console.log(isEven(5)); // 输出: false

5. 作用域

函数内部声明的变量是局部变量,只能在函数内部访问。函数外部声明的变量是全局变量,可以在整个脚本中访问。

示例:

let globalVar = "I'm global";

function showScope() {
    let localVar = "I'm local";
    console.log(globalVar); // 输出: I'm global
    console.log(localVar); // 输出: I'm local
}

showScope();
console.log(localVar); // 报错: localVar is not defined

6. 高阶函数

高阶函数是指接受函数作为参数或返回函数的函数。

示例:

function higherOrderFunction(callback) {
    callback();
}

higherOrderFunction(() => {
    console.log("This is a callback function.");
});

7. 递归函数

递归函数是指在函数内部调用自身的函数。递归通常用于解决可以分解为相同问题的子问题的情况。

示例:

function factorial(n) {
    if (n === 0 || n === 1) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}
console.log(factorial(5)); // 输出: 120

8. 闭包

闭包是指函数能够访问其词法作用域中的变量,即使函数在其词法作用域之外执行。

示例:

function outerFunction() {
    let outerVar = "I'm outside!";

    function innerFunction() {
        console.log(outerVar);
    }

    return innerFunction;
}

const closure = outerFunction();
closure(); // 输出: I'm outside!

总结

JavaScript 函数是代码组织和重用的基本单元。通过函数,你可以将复杂的逻辑分解为更小、更易管理的部分。理解函数的定义、调用、参数、返回值、作用域、高阶函数、递归和闭包等概念,对于编写高效、可维护的 JavaScript 代码至关重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸭梨山大哎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值