函数
页面语句会顺序执行,定义函数有利于代码封装,可以把要处理的js封装在一个函数里,减少代码写作,支持多页面调用,也可以通过事件执行
函数的定义
普通函数
function函数名(){
执行语句
}
调用:函数名()
带参数的函数
function函数名(a,b,c){
执行语句
}
调用:函数名(1,2,3)
带返回值的函数
function函数名(a,b,c){
执行语句
return a+b
}
调用:var v=函数名(1,2,3)
递归:自己调用自己,模拟循环
function函数名(num){
if(num==1){
return 1
}
return 函数名(num-1)
}
调用:var v=函数名(10)
例如:function fun( num){
if(num<=1){
return 1
}
return num*fun(num-1)
}
var v=fun(6)
console.log(v)
Js没有重载
可以在同一作用域下,定义同名函数,但是执行不同操作,js不可以
例如:function fun(a,b){
console.log("第一个")
}
function fun(a,b,c){
console.log("第二个")
}
fun(1,2)
第二个将第一个覆盖
函数的声明方式
1、函数声明
例如:function fun(a,b){//函数声明
console.log("第一个")
}
fun()
2、函数表达式
例如:var fun1=function(a,b){//函数表达式
console.log("第一个")
}
fun1()
3、匿名函数 放在前面先执行
例如:
(function(){
console.log("这是匿名函数")
})()
可变数组(可变参数)
叫做arguments,类似于数组,用于接收函数下多个参数值,只能用在函数里,但是不能像数组一样随意更改
例如: function fun(){
console.log(arguments)
console.log(arguments.length)//6
console.log(arguments[2],arguments[4])//3 5
}
fun(1,2,3,4,5,6)
注意:arguments虽然类似于数组,但是是固定长度,不像数组是可变长度,对于数组下操作函数,除了遍历都不可用,只能对可变数组进行变量和修改值