function类

分类

函数按有无返回值分:又返回值函数、没有返回值函数

没有重载

函数名即为指针

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))

你可能感兴趣的:(function类)