2016-04-29 25 views
0

我正在做代码学院的JS课程,有时我发现知道何时将参数传递给函数以及何时将其留空,令人困惑。在JavaScript中使用带空白参数的函数

例如,创建一个新的类时,我将使用一个带有参数的函数:

function Person (name, age, address, email) { 
this.name = name; 
this.age = age; 
this.address = address; 
this.email = email; 
} 

var zach = new Person ('Zach', '30', 'Bla Bla', '[email protected]); 

但有时候,我看到空白的参数创建类,比如这个:

function StudentReport() { 
this.grade1 = 4; 
this.grade2 = 2; 
this.grade3 = 1; 
this.getGPA = function() { 
    return (this.grade1 + this.grade2 + this.grade3)/3; 
}; 
} 

你怎么知道什么时候使用带参数的函数,何时使用不带参数的函数?我最初的想法是,只要你给你的属性赋值(在这种情况下每个等级都是数值)就可以做到这一点。

我对不对? 感谢

+0

实际上我们把参数传递函数,这些参数成为当它被调用的函数中的参数,但要回答这个问题,我们通过参数的构造函数时,我们要做的事情与他们里面的功能:分配一个变量/财产,无论如何。 –

回答

2

首先不带参数的混淆参数,参数是什么在函数定义中定义,参数是什么在当函数被调用时传递。

function Person (name, age, address, email) 

姓名,年龄,地址和电子邮件这里有参数

当函数被调用时,

var zach = new Person ('Zach', '30', 'Bla Bla', '[email protected]); 

'扎克', '30', '喇嘛喇嘛',和'[email protected]'是传递给函数的参数

至于何时使用功能与参数,一个简单的答案是:

如果您打算重复使用不同的值(参数)的函数,然后再定义带有参数的功能,否则你将不得不每次使用新值重新创建整个函数。

如果您只使用一次函数来设置某些值或执行其他一些操作。然后一个没有参数的函数将会很好。

+1

对于这个问题给出一个答案有点难,因为它太宽泛的IMO,但这个答案是一个很好的答案;-) –

+0

谢谢,我挣扎了一点,以作出一个简洁的答案。我们显然可以花很多时间讨论这个话题,但我希望这有助于。 –

+0

谢谢,换句话说,一个带参数的函数是一个将被重用几次的函数。而一个不带参数的函数是一种不需要改变就可以执行更多一般操作(在这种情况下是硬集计算)的函数? –

0

首先您应该明白,函数最初是从数学中借用的。

函数是一个过程,它接受A类型的输入并返回B类型的输出,而A和B几乎可以是任何东西。

一个例子是基本上需要2个数值参数的加法函数,并且返回也是数字的单个结果。因此,让所有数字被称为A,加法函数是今后AXA - > A.

其它实例:

绝对值函数:数 - >数 的JavaScript console.log功能(打印到控制台):串 - >(无)

的JavaScript parseInt函数功能(原来串号):字符串 - >数

javascript的位置。重新加载函数(刷新标签):(无) - >(无)

用上面的解释,让我们了解使用参数的含义。 您使用的参数是定义函数返回某些内容的方式。 你的人员功能是为了返回一个人的对象,是为了取名字,年龄,地址等。如果该功能应该总是返回同一个人,那么你就不需要任何人,因为你可能事先知道他们。

因此,使用参数是为了涉及额外的信息,您的函数需要的附加输入才能返回想要的结果。使用它的时候,你要自定义函数的行为,当你不需要, 像reload,那就不要。