JavaScript之arguements对象学习

简介:在JavaScript中,有一个特殊的对象-Arguements对象,它是当前函数的一个内置属性,它类似与Array对象(数组形式),但不是Array的一个实例。下面通过代码来论证:

<script type="text/javascript">
    Array.prototype.testArg="test"; //给Array对象添加了一个自定义属性testArg,如果arguments是Array的实例那么它就能调用这个自定义属性
    function funcArg(){
        alert(funcArg.arguments.testArg); //输出:"undefined"说明arguments并不是Array对象的一个实例
        alert(funcArg.arguments[0]);   //输出10 注意funcArg()并没有形式参数接收下面funcArg(10)传递过来的实参,但是funcArg.arguments[0]还是输出了传递过来的实参的值,
//所以说明arguments是由实参决定并影响的。
} alert(new Array().testArg); //输出test funcArg(10); //输出:"undefined",10 </script>

 

下面来说下arguments更高级的一个特性

Arguments的长度是由实参的个数决定的不是由实参的个数决定的,Arguments对象的内存空间里面存放的是实参的信息,而形式参数是函数内部

posted @ 2016-08-25 10:35  郑小超  阅读(715)  评论(0编辑  收藏  举报