JavaScript_个人笔记3_JavaScript的函数

 1 函数的arguments

      arguments是js内置的关键字,类似Array,但并不是Array。

     arguments有length属性,可以通过下标来访问。

     arguments的个数跟实参的个数保持一致,跟形参没有关系。

     arguments的内容可以在函数体内修改

     

<span style="font-family:Microsoft YaHei;font-size:24px;">Array.prototype.testStr="Test";
function MyTest(a,b){
   alert(MyTest.arguments.length);
   alert(arguments[MyTest.arguments.length - 1] * 3);
   
}
MyTest(10);
MyTest(10,20);</span>
<span style="font-family:Microsoft YaHei;font-size:24px;">//由于没有返回值类型,同时形参个数不定,故javaScript不存在函数的重载</span>
输出结果是: 1, 30, 2, 60


2 arguments[index].callee()

   callee指代的是所属的函数本身,同时只是arugments的属性

Array.prototype.str = "student";
function Sum(data){
   if (data == 1)
   {
     return 1;
    }
    else
    {  
        //argumetns的属性callee
        return data + arguments.callee(data - 1);
     }
     
}

function DoDel(){
  document.write(arguments.str + "<br/>"); 
}

var ret = Sum(10);
document.write(ret + "<br/>");
var arrData = [];
document.write(arrData.str + "<br/>"); //输出的结果是student
DoDel(); //输出undefined,可见arguments并不是一个纯粹的arguments

3 JavaScript的函数声明和函数表达式

    1)函数的表达式不一定需要函数名称,匿名函数用来定义  2)函数声明一定有名称  


      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值