Javascript Function

Javascript 函数

函数与抽象

函数:函数是一段封装了特定功能的代码块,它可以接收输入参数(也称为参数或参数列表),并根据这些参数执行特定的操作,最后返回一个结果。函数可以看作是可重复使用的子程序或方法,它将代码模块化,提高代码的可读性和维护性。

函数的优点:

  • 代码重用:将功能封装成函数后,可以在程序中多次调用,避免重复编写相同的代码。
  • 模块化:函数将代码划分为逻辑块,使得程序结构更加清晰,易于维护和修改。
  • 参数化:函数可以接受不同的参数,使得功能更加灵活和通用。

抽象:抽象是计算机科学中的一个核心概念,它指的是将复杂的细节隐藏,只暴露出必要的接口和功能,以便于使用和理解。在编程中,抽象可以通过不同的方式实现,例如面向对象编程中的类和接口,或者函数式编程中的高阶函数。

抽象的优点:

  • 简化复杂性:通过隐藏不必要的细节,使得程序更加简单易懂。
  • 封装实现细节:可以隐藏数据和方法的实现细节,只提供对外暴露的接口。
  • 降低耦合性:抽象可以降低模块之间的耦合性,使得代码更加灵活和可扩展。

JavaScript函数

定义与调用

定义

在JavaScript中,定义函数的方式如下:

0
1
2
3
4
5
6
function abs(x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}

上述abs()函数的定义如下:

  • function指出这是一个函数定义;
  • abs是函数的名称;
  • (x)括号内列出函数的参数,多个参数以,分隔;
  • { ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。

PS:函数体内部在执行到return时返回结果,若没有return语句,函数执行完毕后返回undefined

在JavaScript中,函数也是一个对象,函数名可以视为指向该函数的变量:

0
1
2
3
4
5
6
var abs = function (x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
};

PS:function (x) { ... }是一个匿名函数,可以通过变量调用。

调用

调用函数时,需要传入该函数的参数:

0
1
2
abs(10); // 10
abs(-9); // 9
abs();   // NaN

PS:JavaScript函数允许传入任意个参数而不影响调用

arguments

arguments是JavaScript的一个关键字,作用于函数内部,永远指向向当前函数的调用者传入的所有参数:

0
1
2
3
4
5
6
function foo(x) {
    console.log('x = ' + x);                            // 10
    for (var i = 0; i < arguments.length; i++) {
        console.log('arg ' + i + ' = ' + arguments[i]); // 10, 20, 30
    }
}
foo(10, 20, 30);

rest参数

ES6标准引入了rest参数,用于获取定义之外的参数:

 0
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
function foo(a, b, ...rest) {
    console.log('a = ' + a);
    console.log('b = ' + b);
    console.log(rest);
}

foo(1, 2, 3, 4, 5);
// a = 1
// b = 2
// Array [ 3, 4, 5 ]

foo(1);
// a = 1
// b = undefined
// Array []

PS:rest参数只能写在最后,前面用...标识。

原文链接:JavaScript教程

Licensed under CC BY-NC-SA 4.0
赞助
Sponsor WeChat Pay
Sponsor Ali Pay
Powered by HugoStack