一、什么是函数
- 可以重复使用的代码块
- 函数是由事件驱动或者被直接调用时执行的可重复使用的代码块
二、函数的作用
- 重用:代码重复使用
- 分离:分离思想,可以以模块的形式将代码进行分离,提高代码的可读性,建立模块化编程的思想
函数的原则:
- 高内聚,低耦合
三、函数的基本语法
函数四部分:函数名、函数体(代码块)、参数(可选)、返回值(可选)
函数的定义:
1、函数的声明式
function 函数名(参数){
代码块1;
代码块2;
}
注:函数里的代码块只有调用函数时,才会被执行
2、函数表达式
var 函数名 = function(){
代码块;
}
调用函数:函数名(参数);
function的声明会提升,var的声明会提升,但是var的赋值不会提升。
四、函数的分类
1、有无参数
- 有参函数
- 无参函数
形参:定义函数时写的参数
实参:调用函数时传递的参数
形参相当于拷贝
2、有无返回值
- 有返回值
- 无返回值
返回值:return 值 ;
注:函数没有return时,返回的是undefined;return关键字后面的代码不执行;return只能返回一个值,但是可以使用数组让它返回多个值。
五、引用类型与原始类型
- 原始类型:number、string、boolean、null、undefined
- 引用类型:数组
原始类型的复制,引用类型的复制(内存存储的机制不同)
原始类型,数据存储在栈中,引用类型数据存储在堆中。
引用类型的复制(拷贝),默认只复制地址,又称浅拷贝;如果是复制值的话,就称为深拷贝。
六、全局变量和局部变量
全局变量:在函数外声明的变量,任何函数都可以调用
局部变量:在函数内声明的变量,只有在函数内可以调用