Featured image of post (六)JavaScript函数

(六)JavaScript函数

(六)函数

1. 概述

函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。 封装:把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口。

2. 函数的声明与调用

1
2
3
4
5
6
// 声明
function funcName(params) {
    // function statements
}
funcName(params);
// 调用

3. 形参与实参

声明时传入的为形参,调用时传入的为实参。

4. 实参个数与形参个数不匹配的情况

参数个数 说明
形参和实参个数相等 输出正确结果
实参个数多于形参 只取到形参的个数
实参个数少于形参 多的形参定义为undefined,结果为NaN
1
2
3
4
5
6
function sum(num1, num2) {
    console.log(num1 + num2);
}
sum(100, 200); // 300, 形参和实参个数相等,输出正确结果
sum(100, 400, 500, 700); // 500, 实参个数多于形参,只取到形参的个数
sum(200); // NaN, 实参个数少于形参,多的形参定义为undefined,结果为NaN

在JavaScript中,形参的默认值是 undefined

5. 声明函数的三种方法

5.1 function 命令

1
2
3
function funcName(params) {
    // function statements
}

5.2 函数表达式

1
2
3
const funcName = function(params) {
    // function statements
}

5.3 箭头函数 =>

创建一个函数更加简洁的方式,有两种方式:

  • 不带花括号:(...args) => expression,计算表达式,直接返回。
  • 带花括号:(...args) => { bodu },可以编写多行多个语句,需要 return 语句返回。
1
let sum = (a, b) => a + b;

5.4 Function 构造函数

1
2
3
4
5
const add = new Function(
    'x',
    'y',
    return 'x + y'
);

6. 注意

  • 函数未指定返回值则默认返回 undefined

7. arguments 的使用

arguments 是所有JS函数内置的对象,但也只有函数具有。

1
2
3
4
function test() {
    return arguments;
}
console.log(test(1,2,3,4));

输出:

1
Arguments(4) [1, 2, 3, 4, callee: ƒ, Symbol(Symbol.iterator): ƒ]

函数的 arguments 是一种伪数组:

  1. 具有数组的 length 属性
  2. 按照索引方式进行存储
  3. 没有真正数组的一些方法 pop()push()
Powered by GitHub.Pages
Built with Hugo
主题 StackJimmy 设计
© Licensed Under CC BY-NC-SA 4.0