在javascript中,函数就是对象,所以函数也属性和方法。
1.其中属性有length、prototype,
length属性表示函数希望接收的命名参数的个数
prototype属性,我们平时使用比较多,但在本文不详谈
2.方法 每个函数都有两个非继承的方法:apply()和call()
2.1 apply(),接收两个参数,第一个是在其中运行函数的作用域,第二个是参数数组(可以是Array的实例,也可以是arguments对象),如:
function test(arg1,arg2){
alert(arg1+','+arg2);
}
function _test(arg1,arg2){
test.apply(this,arguments);
//or like this
//test.apply(this,[arg1,arg2]);
}
2.2 call(),它跟apply()作用相同,第一个也是在其中运行函数的作用域,但其余参数必须都直接传给函数,即是说调用call(),传递给函数的参数必须逐个列举出来,如:
function test_(arg1,arg2){
test.call(this,arg1,arg2);
}