JavaScript函数
对功能代码进行封装。
1.函数的创建
1.字面量的创建方式
function 函数名(参数){
}
* console.log(f68);//不加()小括号输出函数体
2.函数表达式(匿名函数表达式)
let f68(函数名)=function(参数){
}
3.构造函数
let f68(函数名)=new function(参数);
let f71=new Function(
console.log('????'),
console.log('????')
);
2.参数
形参:声明时的参数;
实参:调用时的参数;
默认参数:给形参赋默认值
1.function 函数名1(形参){
}
函数名1(实参)
2.不定参数:
扩展运算符-做不定参数:(只能放最后,若前面有形参的话!)
…
function ff(…b){
console.log(*b*);}
ff(1,2,3,4,5);
获取所有的实参–arguments ----类数组 在函数内使用。
可取下标【0】,可取长度.length
3.注意:相同形参名取后值!
4.默认参数
function func(a=1,b=1){
pass;
}
无实参用默认参数,有实参则使用实参;
5.**functionName.length()**获得当前形参个数(不包含不定参数)
3.返回值
return ------会终止函数的执行并返回函数的值,如果忽略,将返回 undefined
4.箭头函数
1.书写格式
1.函数名-----箭头-------函数体(只有一条不需要加{}花括号))
f68 => consloe.log(“f68”)
2.形参(形参1,形参2…形参n)------ 箭头 ------------函数体()(只有一条,不需要加大括号,同时还是返回语句,不需要加return)
(a,b) => a+b;
3.形参(参数只有一个,省略小括号) ------- 箭头 --------- 函数体
a => a+1
5.立即执行函数
IIFE:创建即调用,调用后销毁并释放空间
// 1.方法1
(function f68(){
console.log('?????')
}());
//2.方法2
(function f68(){
console.log(’?????????’)
})();
6.变量提升
隐式全局变量不会提升----------补var(会初始化变量–声明并赋值):只有在程序运行是才进行。预编译时不进行**
1.**变量提升**:var预编译时,提到第一行进行变量的声明,不赋值(不包含函数内var 声明的变量);
2**.函数提升:(字面量提升)将字面量创建的function函数整个**提升到第一行