函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

本质:

代码块

定义:
  • 声名函数:
function 函数名 (参数列表) {
	//函数主体:可被重复使用的代码块。
}
  • 函数表达式:
var 变量名 = function (参数列表) {
	//函数主体:可被重复使用的代码块。
}
  • new Function()
    这个基本上不用了,上面俩个算是这个的缩写。
调用:
  • 直接调用
    函数名()
  • 事件驱动
    document.getElementById(‘xxx’).onclick = 函数名;
参数(相当于是一个函数的输入):

形式参数(形参):函数定义时的参数

实际参数(实参):函数调用时的参数

注意点:形参个数和实参个数可以不同

  • 当实参个数少于形参个数时,未传递的参数在函数体中默认为undefined
  • 当实参个数多余形参个数时,函数会忽略多余的参数值。
返回值(相当于是函数的输出):

return 表达式;
函数返回值是返回到函数调用处。
在函数体中遇到return语句,则结束函数执行(即函数体未执行完部分不再执行)。
使用return最多只能返回一个值。

函数的arguments对象:

函数体中获取函数调用时所传递的实际参数列表。

对实际参数列表的参数值进行编号,编号从0开始。

可以使用arguments[index]语法来访问到index编号处的参数值。

可以使用arguments.length来获取到参数个数。

注意点:arguments只是一个类似数组的数据集合,可以使用for遍历它,但是不可以使用数组的方法,比如forEach,map之类的API。

示例:

function testArg(a, b, c){
	console.log(arguments)
} 
testArg(1, 5, 6, 7)

输出结果:
JS函数简介_JS函数简介

函数自执行【IIFE】

IIFE(立即调用函数表达式–自执行匿名函数)
英文全拼:Immediately Invoked Function Expression

// 三种写法
(function() {})();
(function() {}());
+function(){}();