函数
函数
##1. 函数声明
1.1 关键字 function
eg: function test(){
console.log("hello");
}
1.2 函数表达式
1.2.1 声明式函数: (预解析时加载)
eg: function test(){
console.log("hello");
}
1.2.2 函数表达式: (赋值操作 程序执行的时候加载)
eg: var test = function() {
console.log('hello')
}
1.3 函数重复声明 --> 后面会覆盖前面的声明
function fn() {
console.log(1);
}
function fn() {
console.log(2);
}
fn(); //2
##2. 形参、实参、return语句
function add(a,b){ --> 这里的a,b是形参
return a + b --> 返回值
}
add(1,2) //3 --> 这里的1,2是实参
形参:在定义时候命名的参数,形式参数,形参 在预解析的时候进行初始化的。
实参:调用传递进入function中的参数,实际参数,实参 。
##3. 立即调用函数 IIFE
1.(function(){}());
2.(function(){})();
3.~~ function(){};
4.!! function(){};
## 4. 第一等公民
javascript的函数与其他数据类型处于同等的地位,可以使用其他数据类型的地方都能使用函数,函数与其他数据类型是平等的。
##5. 变量提升:(一个块内)
全局预解析 --> 程序正式执行之前准备工作 js引擎预览代码,不执行代码, 先查找出var声明的变量,默认var变量值undefined;
--> 程序正式执行之前准备工作 查询声明式函数
局部预解析 --> 执行到函数时 进行函数内部预解析 参数、var、function
##6. 函数作用域
函数有全局作用域和函数作用域
1.在函数外部声明的变量是全局变量,函数内部可以读取使用;
2.在函数内部定义的变量,外部不能读取使用,称为局部变量;
3.局部变量,会在该作用域内覆盖同名的全局变量

浙公网安备 33010602011771号