码迷,mamicode.com
首页 > Web开发 > 详细

js的参数理解

时间:2017-11-04 13:15:03      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:asc   访问   efi   表示   没有   rip   div   function   class   

ECMAScript内的参数在内部使用一个数组来表示的,在函数内可以通过arguments对象来访问这个参数数组,从而传递给函数的每一个参数

function doADD () {
    if (arguments.length == 1) {
        alert(arguments[0] + 10);
    } else if (arguments.length == 2){
        alert(arguments[0] + arguments[1] );
    }
}

doADD(10);             //20
doADD(30,20);          //50

另外,arguments 对象还可以和命名参数一起使用

function doADD (num1,num2) {
    if (arguments.length == 1) {
        alert(arguments[0] + 10);
    } else if (arguments.length == 2){
        alert(arguments[0] + arguments[1] );
    }
}

arguments 的值和对应命名参数的值保持同步

arguments对象的长度是由传入的参数个数决定的,不是由定义函数时候的命名参数个数决定的

没有传递命名参数将会被自动赋予undefined值

所有参数传递的都是值,不可能通过引用传递参数(

原始类型的内容是存储在栈中;而对象的内容是存储在堆中,指向堆的地址存储在栈中。
原始类型传递的是存储在栈里的内容,对象传递的是存储在栈里的地址, 都是copy栈里的值来传递, 都是值传递。

js的参数理解

标签:asc   访问   efi   表示   没有   rip   div   function   class   

原文地址:http://www.cnblogs.com/lik98/p/7782831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!