• 前端分享学习博客,探究前端相关技术,推动天朝前端发展,有任何问题都可以留言一起探究
  • 由于站内自链接问题,部分pre中的代码首字母使用大写以过滤筛选
  • 欢迎友链互换,还有,如果有大神请不要黑我的站点(o´・ェ・`o)
  • 如果你觉得博客还不错,请Ctrl+D收藏( *︾▽︾)

JavaScritp笔记之Arguments

jQuery/JavaScript 薛 陈磊 685次浏览 1个评论 扫描二维码

ArgumentsJavaScript的一个内置对象(a built-in Object),不是一个Array,它类似于Array,但除了拥有共同的length之外没有什么相同的特性;Arguments对象是在所有函数中可用的局部变量,可以通过使用Arguments对象来引用函数中的函数参数,也就是可以检索到一个方法中的参数:

arguments[0]
arguments[1]
arguments[2]
//and we can set a new value
arguments[1] = 'new value';

Arguments使用实例,获取所有的参数并运算(重要的是获取,不管你获取后做什么…):

x = sumAll(1, 2, 3, 4);

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}

Arguments are Passed by Value:

function中引用的参数(parametes),就是方法中的arguments,JavaScript中的Arguments是通过传入值传递的,方法中获取这个值只跟传入有关,与Arguments本身无关,就是说如果改变了arguments[i]的值,它并没有改变parameter的original value,对参数的更改在函数外也是不可见;

另外要注意arguments与parameter的概念的区别

var foo = function( a, b, c ) {}; // a, b, and c are the parameters

foo( 1, 2, 3 ); // 1, 2, and 3 are the arguments


arguments属性:

arguments.callee

它可以用来指代该函数的函数体内当前执行的函数;

arguments.caller

此属性不再可用,但仍然可以使用Function.caller;

arguments.length

这个前面介绍过,获取function参数长度;

arguments[@@iterator]

返回一个新的Array Iterator对象,该对象包含参数中每个索引的值;



薛陈磊的博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明JavaScritp笔记之Arguments
喜欢 (0)
[905044086@qq.com]
分享 (0)
作者薛陈磊
关于作者:
非著名前端Coder,中二非文艺闷骚少年,喜欢动漫、历史、暗荣三国志和游山玩水,关注互联网发展,期待遇到更多小伙伴一起吹水玩耍;
说点什么...
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.
    电动螺旋压力机2017-04-25 13:55 回复 Windows 7 | Chrome 47.0.2526.108