函数的作用:可以封装一段重复执行调用的代码;
function--函数
命名函数:function 函数名(参数){
执行代码
}
匿名函数:
var 变量=function(参数){
执行代码
}
函数的调用:
函数名/变量()
参数的用法:
1.创建函数--形参:
用来存储函数调用时传进来的数据,相当于是这个函数的独有变量
function(形参){
}
2.函数调用--实参:
用来给函数传入具体数值
fn1(实参)//
两个函数的不同:
1命名函数可以提前调用
2.匿名函数不可以提前调用,会报错
返回值:
把结果返回给调用者同时跳出执行函数:
return--返回值
返回值,注意事项:
1.必须写在要执行的代码后面,执行到return后,后面代码不会执行
2.一个函数里面可以有多个return(如:多分支语句中每个条件判断都有一个return)
递归:函数在运行过程中不断的调用自己
全局作用域:一般用var在函数外面声明的变量和js里任何位置不声明直接赋值的变量都会成为全局用域。
作用:在任何位置都可以获取到。
局部作用域:利用var在函数里面声明的变量,会成为局部变量。
作用:局部变量只能在声明他的函数里获取到。
函数包装
// 获取随机数
function getRandom(a,b){
if(a>b){
var max=a
var min=b
}else{
var max=b
var min=a
}
return Math.floor(Math.random() * (max-min+1)+ min)
}
// 随机点名
function getRandomName(arr){
var index= Math.floor(Math.random() * (arr.length))
return arr[index]
}
//获取当前时间
function gettime(){var time=new Date()
console.log(time);
var y=time.getFullYear()
console.log(y);
var m=time.getMonth()+1
m=m>9?m:"0"+m
console.log(m);
var d=time.getDate()
d=d>9?d:"0"+d
console.log(d);
var hh=time.getHours()
hh=hh>9?hh:"0"+hh
console.log(hh);
var mm=time.getMinutes()
mm=mm>9?mm:"0"+mm
console.log(mm);
var ss=time.getSeconds()
ss=ss>9?ss:"0"+ss
console.log(ss);
var week=time.getDay()
console.log(week);
var arr=['星期天','星期1','星期2','星期3','星期4','星期5','星期6']
console.log(hh,mm,ss,arr[week]);
return(`${y}/${m}/${d} ${hh}:${mm}:${ss} ${arr[week]}`);
}
// 倒计时
function getFUtTime(fut){
var time=new Date()
var va1=parseInt((fut-time)/1000)
console.log(va1);
var a=parseInt(va1/60/60/24 )
var c=parseInt(va1/60/60%24)
var d=parseInt(va1/60%60)
var b=parseInt(va1%60)
return(`剩余${a}天,${c}:${d}:${b}`);
}
调用倒计时
var fut=new Date(2023,4,1,00,00,00)
var p=document.querySelector('p')
setInterval(function(){
p.innerHTML=getFUtTime(fut)
})