在函数内部,有两个特殊的对象—arguments和this。arguments主要是保存函数的参数,但是这个对象还有一个叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。
<script type="text/javascript">
function factorail(num){
if(num <= 1){
return 1;
}else{
return num * factorail(num - 1);
}
}
document.write(factorail(5)+"<br />");
function factorail2(num){
if(num <= 1){
return 1;
}else{
return num * arguments.callee(num - 1);
}
}
document.write(factorail2(5));
</script>
我们已经知道,函数就是对象,因此,函数也有属性和方法。每个函数都包含两个默认的属性,length和prototype。length表示函数希望接收的命名参数的个数。prototype将在后面博文中详细介绍。
<script type="text/javascript">
function sayName(name){
alert(name);
}
function sum(a,b){
alert(a+b);
}
function sayHi(){
alert("Hi");
}
alert(sayName.length);
alert(sum.length);
alert(sayHi.length);
</script>

浙公网安备 33010602011771号