zoukankan      html  css  js  c++  java
  • 参数的传递

       我们都应该知道所谓的编程语言就是通过一系列的函数变换,实现数据的传输,变换,最终呈现出我们所需要的效果。可以说无论是什么编程语言数据的传递都是弥足珍贵的。可是我们在传输数据的过程中不能仅仅是简单的传输,我们需要一种载体来承接我们传输的内容,也就是我要说的参数。

      参数有形参和实参之分,所谓的实参可以理解为实际参数,就是我们通过函数想要传递的内容,而形参呢?简单的说就是形式参数,就是一个桥梁,用它去接收我们传递过来的内容,并存入到储存单元中,然后释放形参。那么实参和形参是怎样传递的呢?在他们的传递过程中都发生了那些变化?都要遵循那些规则呢?

        (1).参数的传递分为2种:

             1.值传递

                顾名思义,值传递就是把数值传递给形参,也就是说我们只需要随便拿出一个形参来接受这个值就好了,当我门在函数内部修改形参,比如形参的名字,是不会影响实参的数值的。

                

              从例子中很容易看出,虽然改变了形参的内容,结果未发生任何变化。

         2.引用传递

            和值传递不同,引用传递传递的是内容的地址。在使用引用传递时,计算机是先找到这个实参的地址,然后把地址传递给形参,紧接着把地址下的数据依次传入到形参开辟的空间中去,所以说一旦我们的在函数内部修改了形参,计算机就无法找到对应的地址空间,这样输出的就不是我们所需要的数据。

      (2).形参和实参的数目问题:

         1.调用函数传递的实参必须与定义的形参的个数是对应的;(在JavaScript中没有这项要求)

         2.超出形参数的实参不进行传递;

         3.如果没有对应的实参传入,形参的类型定义为undefined;

       所有的编程语言都需要满足这3带点特征,但是在JavaScript中,实参和形参的数量可以不对应。

        (3).参数传递时主要应用的函数

           arguments函数:在函数体内,标识符arguments是指向实参对象的引用,一旦我们把实参传递给形参是,就会创建一个arguments对象;它的作用就是把我们传递的参数,以数组的形式                                存储在对像名为arguments的内存空间内,注意,arguments绝不是一个数组,他是一个对象。

           arguments的应用:1.虽然他不是一个数组,但是我们仍然可以把它当做数组来理解,通过arguments我们可以获取里面的一个元素,或者获取传入实参的个数。

                                      2.对于超出形参个数之外的实参,arguments同样接收超出的实参,并存储起来,这是就方便我们来调用其中的元素了。使用函数arguments[i] 来调用;

                                      3.arguments.length函数是用来计算传递的实参个数;

                                      4.argumrnts每个函数都会有,因此,arguments只会在自己内部找自身的arguments,无法引用到外层的arguments。

          参数的传递基本的内容也就是这些了,只要理解清楚他的传送机制,我们在编写程序时就不会感觉手足无措了,认真的看完这篇文章,我想对于参数的传递机制,你会有一个更清楚的认识,不能说让你大彻大悟,但总会有一些收获。(ps:文章有些短,希望不要被告知移除博客首页啊!!!!)

  • 相关阅读:
    .NetCore 部署到IIS上的问题
    泛型(EF)增删改查
    Ef数据GroupBy多字段查询Vb.net与c#参考
    WEBAPI 最近更新项目时 服务器总是提示:An error has occurred.
    SQL SERVER 语法
    Fonour.AspnetCore 生成SQL SERVER数据库
    Windows10出现打开EXE应用程序错误
    jQuery实现DOM加载方法源码分析
    前端面试高频题:删除数组重复元素的多种方法
    Mac 下使用homebrew 安装node后全局安装找不到问题
  • 原文地址:https://www.cnblogs.com/zhangyang0619/p/5741884.html
Copyright © 2011-2022 走看看