1. 声明函数
function xxx() { ... }
xxx(); // 调用函数
2. 函数参数
2.1 参数声明
function xxx(参数列表) {... } // function xxx(x, y, z...) {...}
xxx(1, 2, 3); // 函数传参调用
xxx(1, 2); // 形参未传值,默认undefined
2.2 形参初期化
function xxx(参数列表) {... } // function xxx(x=0, y=0, z=0...) {...}
3. 函数返回值
function xxx() {... return result; }
let res = xxx(); //接收返回值,无返回值函数接收到undefined
4. 函数变量作用域
函数外是全局,函数内是局部。
函数内未用let声明的变量,默认是全局var声明。
函数内外都有声明的变量,就近原则。
5. 匿名函数
5.1 声明匿名函数
let fn1 = function() {...}
fn1(); //匿名函数调用
备注:具名函数可以先使用,后声明。匿名函数必须先声明后使用。
5.2 立即执行匿名函数
(function() {...})() // 相当于将函数括起来,再加括号调用。
(function(x,y) {...})(1, 2) // 匿名函数有参调用
!function(){...}() //函数不加括号,在前加叹号加号等也是立即执行。