分类
函数按有无返回值分:又返回值函数、没有返回值函数
没有重载
函数名即为指针
function addsomedata(){
return num+100
}
function addsomedata(){
return num+200
}
addsomedata(100) //300
上面声明了2个同名函数,但是被后面覆盖
深刻理解函数属性
函数内部有2个属性:arguments和this
arguments 类数组对象(是一个数组),存放着所有参数
callee 虽然arguments的最主要用途是保存函数的参数,但这个对象还有个callee的属性,此属性是个指针,指向拥有此arguments对象对象的函数
请看下面一个经典的阶乘函数
function factorial(num){
if (num<=1){
return 1
}else{
return num*arguments.callee(num-1)
}
}
- 前n项和
function factorial(num){
if (num<=1) {
return 1
}else{
return num+arguments.callee(num-1)
}
}
alert(factorial(5))