一、函数
1、定义:函数是完成某一功能的一种
2、基础语法:
function 函数名(参数){
函数体
return 结果
}
3、函数的定义方式
(1)普通函数
关键字:var let const for while switch function...
//function stuInfo
function f1(){
var a=10
var b=10*2
return b
}
//调用
var result=f1() 20
(2)函数表达式
var f1=function(){
var a=10
var b=10*2
return b
}
var result=f1()
(3)立即执行函数(匿名函数)
(function(){alert("world")})()
(function(a){alert("world"+a*a)})(3)
(4)函数对象创建
new Function(前面为参数,最后一个是函数及返回值)
var f1=new Function("alert(23)")
f1()
var f1=new Function("a","alert(a*10)")
var c=f1(3)
console.log(c)
var f1=new Function("a","b","c","return a+b+c")
var c=f1(3,4,5)
console.log(c)
var f1=new Function("a","b","c=a*b;return c")
var d=f1(3,4)
console.log(d)
4、函数的参数与返回值
(1)普通函数
function f1(a,b){ //a b 叫形参
return a+b
}
f1(2,3) //实参
(2)ES6 函数参数
[1]默认参数:默认参数可以有多个,但必须放在形参末尾
function f1(a,b=0){
return a+b
}
var c=f1(2)
console.log(c)
function f1(a,b=0,m=12){
return a+b+m
}
var c=f1(2)
[2]不定长参数 ...
function f1(){
m=a+b+c
return m
}
f1(2,3,4)
[3]参数管理器 arguments
arguments:不是数组,但可以按数组的方式用
**可以用数组的形式来调用实参值(实参值是调函数用的值)
function f1(){
arguments.lenght //4
arguments instanceof Array //false
arguments instanceof Object //rtue
}
f1(2,3,4,5)
[4]形参--函数名.lenght
function f1(a,b){
//arguments[0]
arguments.length //实参的长度
f1.lenght //形参长度
}
f1(2,3)
//形参与实参个数相同判断
arguments.lenght==f1.length
5、返回值 --只有一个
(1)多个返回值,可返回数组
function f1(a,b){
c=a+b
b=a-b
return[c,d]
}
f1(2,3)
(2)
function f1(a,b){
function f2(){
return a+b
}
return f2
}
var r=f1(2,3)()
console.log(r)
(3)返回函数自己本身
var a=1
function f1(){
a++
return f1
}
f1()()
console.log(a)