资讯专栏INFORMATION COLUMN

关于arguments的新理解

godlong_X / 855人阅读

摘要:形参长度实参长度实参数组我很不懂为什么是呢既然能重新赋值,为啥不能本来我是认为分别对应和,经过一番研究这是不完全正确的第一个值就是,没有传值没有存储到,无论怎样赋值都是。终于解决了心头大石

function test( a, b){
    arguments[0] = 1
    arguments[1] = 9
    console.log("a",a);  //1
    console.log("b",b);  //undefined
    console.log("形参长度",test.length);  //2
    console.log("实参长度",arguments.length);  //1
    console.log("实参数组",arguments);  //[1,9]
}
test(2);

我很不懂为什么b是undefined呢?
既然a能重新赋值,为啥b不能?

本来我是认为a,b分别对应arguments[0]和arguments[1],经过一番研究这是不完全正确的

arguments第一个值就是a,b没有传值没有存储到arguments,无论arguments怎样赋值 b都是undefind。
终于解决了心头大石

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103172.html

相关文章

  • Array.prototype.slice.apply可以转换数组的原理

    摘要:同样的,我们可以先输出下函数内部的。可以看到,确实不是一个纯数组。从该索引处结束提取原数组元素从开始。如果该参数为负数则表示在数组中的倒数第几个元素结束抽取。在别的数组里修改这些字符串或数字或是布尔值,将不会影响另一个数组。 我们经常可以看到这种写法。 function test(){   //将参数转为一个数组   var args = Array.prototype.slice...

    jsummer 评论0 收藏0
  • 听飞狐聊JavaScript设计模式系列04

    摘要:介一回,偶们来聊一下用中的类,有些盆友可能用过或者的,知道语法糖,可是在中并没有,中需要用到构造函数来模拟类。而且要注意一点,构造函数没有语句,是自动返回。 本回内容介绍 上一回聊到JS的Function类型,做了柯里化,数组去重,排序的题。 介一回,偶们来聊一下用JS中的类,有些盆友可能用过ES6或者TypeScript的,知道Class语法糖,可是在ES5中并没有,ES5中需要用到...

    kgbook 评论0 收藏0
  • 听飞狐聊JavaScript设计模式系列03

    摘要:闭包与柯里化闭包有权访问另一个函数作用域中变量的函数。柯里化把接受多个参数的函数变换成接受一个单一参数最初函数的第一个参数的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 本回内容介绍 上一回聊到JS的Object类型,简单模拟了一下Java的Map,介一讲,偶们来聊一下函数好唔好,介可系JS世界的一等公民哟。从函数开始,我们就将逐步过渡到设计模式,来吧,帅狐带你装逼带你飞:...

    levy9527 评论0 收藏0
  • 对Js赋值运算的新认识

    摘要:我们开始应用上规范上的步骤,虽然赋值运算符具有右结合性,然而它首先做的是得到表达式的值,根据我们对的解释它返回一个指向对象的成员的引用,需要注意的是,这个时候并没有改变引用的指向。 可以在这里看:http://leozdgao.me/renew-js-assignment/ 此文的目的是为了解释如下现象: var foo = { n: 1 }; var bar = foo; foo.x...

    sean 评论0 收藏0
  • [学习笔记] JavaScript中的 this

    摘要:但是总有一个原则,那就是指的是调用函数的那个对象。还有另一个原则当没有明确的调用函数的那个对象时,指向全局对象,浏览器模式下就是了。设置的值这两个方法的作用都是在特定的作用域中调用函数,从而设置了函数体内的值。 感觉上篇文章还是三四天前写的,看看日期已经10天了。。时间过的真快!赶紧补篇,js中的this是我学习了但一直没来得及总结的,今天就简要说说 this 吧~ this简述 ...

    xioqua 评论0 收藏0

发表评论

0条评论

godlong_X

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<