【问题标题】:How does "Passing in Parameters" work?“传入参数”如何工作?
【发布时间】:2016-02-12 18:20:25
【问题描述】:

对于我了解更多的每种语言,我总是听说“传入参数”。

你能解释一下,“for a dummy”风格吗? :)

我在下面谈论的一个例子..

function myfunction(para1, para2) {
    //run code here...
}

那么,para1 和 para2 是从哪里来的呢?

它们为什么存在?

它们有什么用?

等等。

我环顾四周试图弄清楚它们是什么以及它们来自哪里,但有些东西没有点击。

【问题讨论】:

  • 我以前读过,我所说的也没有真正的意义。我更像是一个类比的人,甚至是对等的比较。
  • 它们是由调用函数的代码传入的。据推测,它们在函数中用于提供函数需要操作的值。这确实是非常基本的。 :-( 我们并不是一个真正的教程前问题网站。如果您对单一语言有任何了解,那么您应该了解一个非常基本的概念。
  • 是的,我同意,它非常基础,我确实有多种语言的经验,而且我实际上使用参数(或或多或少地调整了模板)编写了代码,但我从来没有真正理解整体概念,直到现在。 @user3437460 有一篇很棒的帖子可以帮上忙,现在我明白了。感谢您的帮助!
  • @BenDains 如果它对您有帮助,您可以通过单击我的解决方案旁边的空心勾号来接受我的解决方案。您将获得 2 个代表点作为回报。

标签: function methods


【解决方案1】:

在我回答你的问题之前,我认为你应该首先知道什么是函数(或方法)。

一个函数是一个代码块,它只会在你调用(调用)它时执行,否则它只会坐在那里什么都不做。使用函数有很多好处:

  • 代码模块化
  • 使您的代码更易于阅读和调试
  • 简化代码的维护
  • 实施一次,使用n次
  • 等等..

现在,假设您有一个函数调用getMax()。这是一个非常通用的函数,当你给它(传递)值时,它会返回更大的值。

由于它的计算应接收 2 个值,因此该函数将接受 2 个参数(在您的问题中作为参数提及)。

所以现在getMax() 应该看起来像getMax(int val1, int val2)

因此使用 2 个给定值:

if val1 > val2, then 
    return val1 
else return val2

从这里我们看到 2 个args(参数)可以是您提供的任意 2 个整数值。


您也可以将功能想象成一台机器。例如,拥有一台冰淇淋机。您需要提供制作冰淇淋的原料(如奶油和牛奶)。

在这种情况下,冰淇淋机就是你的函数,参数列表中的参数是需要的配料(奶油、牛奶),返回值是冰淇淋:

function IceCream iceCreamMaker(Cream cream, Milk milk){
    return iceCream;
}

【讨论】:

  • 谢谢!!!当你这样说时,这实际上是有道理的。基本上使用参数又名参数,你正在针对那些运行函数?假设有 3 个人参加比赛,从 10 中猜对。如果函数逻辑显示答案是 5,并且每个人选择了不同的数字,您可以将数字传递进去并针对函数运行它们以查看谁赢了?
  • @BenDains 是的,您使用猜数功能没问题。我进一步更新了我的解决方案,给你一个冰淇淋机的类比。当您了解函数的基础知识后,您将了解到我们尝试创建解耦函数,但那是另一回事了。
【解决方案2】:

补充@user3437460 的回答:

所以如果你有function getMax(int val1, int val2),它看起来像:

function getMax(val1, val2) {
    if (val1 > val2) {
        return val1;
    } else {
        return val2;
    }
}

然后您想调用/调用它,例如,当用户单击按钮时。

现在,当您调用它时,而不是使用“getMax()”,您将把两个变量放在括号中,按照与原始getMax() 函数中的参数相同的顺序 >:getMax(4, 7).

相同的顺序,是的,这意味着现在4 将用作val1,而7 将用作val2。函数完成后,它将返回 7,因为第一个条件不满足(if (val1 > val2),或者实际上是if (4 > 7))。

它们习惯于在函数中以某种方式具有动态变量。

【讨论】:

    猜你喜欢
    • 2011-05-22
    • 1970-01-01
    • 2021-06-13
    • 2021-10-22
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多