函数二

一、短路赋值
1、函数的形参和实参时不对等的
2、所以当函数调用没有传参时,函数的参数需要给一个默认值
3、默认值写在后面
n = n || 6
 
二、递归函数:传递和回归
1、就是不断的调用自己
2、递归一定要有出口
1)求和
function sum(n){
if(n==1){
//出口
return 1
}
return n+sum(n-1)
}
2)斐波拉契数列
function fb(n){
if(n==1){
return 0
}
if(n==2){
return 1
}
return fb(n-1)+fb(n-2)
}
3)求最大公约数
function gcd(a,b){
return b===0?a:gcd(b,a%b)
}
 
三、回调函数,作为另一个函数的参数被传入的时候,没有名字(匿名函数),是一次性的
普通情况下写匿名函数会报错--这个函数永远没有办法调用
function sum(a,b,callback){
console.log(a+b);
callback();
}
sum(2,3,function(){
console.log(666);
})
 
四、函数分类:
1、系统函数(系统内置函数)
alert('hello'):无返回值 isNaN(‘123’) false:有返回值
confirm('确定删除我吗?'):有返回值true or false
prompt('请输入一个分数'):有返回值 点确定时,能拿到输入框的值,点取消时,拿到null
2、自定义函数
1)具名函数
2)赋值式声明函数:只能先声明,后调用,更符合语法规范
3)匿名函数:
声明立即调用,自调用
!function(){console.log(999)}() ~function(){console.log(999)}() +function(){console.log(999)}() *function(){console.log(999)}()
 
 
了解一下:
arguments 得到的是一个伪数组,脚标从0开始,有时候用于没有形参的函数来接收实参
arguments[0] arguments[1]
 
划重点:
一、函数的分类
1)系统函数
2)自定义函数
1、赋值式声明函数
2、具名函数
3、匿名函数
二、函数的声明方式
1)具名函数
2)赋值式函数
3)匿名函数
三、函数的作用
1)复用性
2)封装性
四、函数的封装
1)提取参数
2)返回值
五、作用域
1)局部变量
2)全局变量
六、函数的相关概念
1)递归函数
2)回调函数 callback 形参,实参!!!
七、arguments 伪数组
1)有时候用于没有形参的函数来接收实参
八、函数的形参的短路赋值
1)当函数调用没有传参时,需要给一个默认值,默认值写后面
1)var n=n||1
 
 

posted @ 2021-06-22 17:24  睫毛上长雀斑  阅读(68)  评论(0)    收藏  举报