函数的属性和方法

1.函数的属性

name    函数的名称

length  形参的个数   

this   函数的上下文(函数执行的时候才出现,只能在函数体内部使用)

arguments 类数组对象

     callee-----指的是函数本身。 length 实参的个数2

<script type="text/javascript">
   function myfun(a,b){
       console.log(a+b);
       console.log(this);
   }

   myfun(1,2,3,4,5,6,7,8,9);
   console.log(myfun.name); //函数的名字
   console.log(myfun.length);//函数的长度
  
</script>

<script type="text/javascript">
function myfun(a,b){
    console.log(arguments.callee.length); //返回的是形参的个数
    console.log(arguments.length);//返回的是实参的个数
}
myfun(1,2,3,4,5,6,7,8,9);
console.log(myfun.length); //返回的是形参的个数
</script>

2.函数的方法

call方法: 
语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 
定义:调用一个对象的一个方法,以另一个对象替换当前对象。 
说明: 
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 

apply方法: 
语法:apply([thisObj[,argArray]])    
定义:应用某一对象的一个方法,用另一个对象替换当前对象。 
说明: 
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

原文地址:https://www.cnblogs.com/smivico/p/7931064.html