函数参数及其工作原理

时间:2013-01-08 23:37:15

标签: javascript function

我只是想更好地理解/确认函数参数 在这里看到的功能:

function newFunction(data, status){

该函数是否专门适用于数据和状态变量?

我不太明白这些论点是如何运作的。

3 个答案:

答案 0 :(得分:3)

基本情景

定义函数时,()区域用于输入。这些输入映射到发送的数据。

function newFunction(data, status){
}
newFunction(1,2);

在这种情况下,data将被赋予1的值,status将被赋予2范围newFunction的值undefined

输入不匹配

然而,它并不总是直接映射。如果发送的参数较少,则未分配的输入变量将变为function newFunction(data, status){ } newFunction(1);

data

在这种情况下,1将被赋予status的值,undefined将被赋予newFunction范围newFunction的值function newFunction(data, status) { var args = arguments; } newFunction(1);

参数对象

args范围内,还可以访问数组,例如名为 arguments 的对象。

arguments

在这种情况下,变量args.length将保留args[0]对象。在那里,您可以检查1以查看仅发送了1个参数。 new将为您提供参数值,在这种情况下为new

功能对象

可以使用this关键字将函数转换为对象。通过在函数上使用function newFunction(data,status){ if( this instanceof newFunction ){ //use as a Function object this.data = data; }else{ //use as a normal function } } var myNewFunction = new newFunction(1); 关键字,可以创建Function对象。完成Function对象后,myNewFunction可用于引用当前的Function对象而不是全局窗口。

myNewFunction["data"]

在这种情况下,myNewFunction.data现在拥有对Function对象的引用,并且可以通过点表示法或索引作为对象进行访问。 {{1}}和{{1}}现在都保持值为1。

答案 1 :(得分:1)

这意味着功能接受 datastatus参数。调用函数时,调用函数(你)的程序员需要提供参数(也称为参数。)

让我们看一个简化的例子:

function add(x, y) {
  return x + y;
}

这里的函数有两个数字,将它们加在一起,然后返回结果。现在,作为程序员,您可以随时添加两个数字,而无需复制功能或在需要应用程序执行相同功能时复制/粘贴。

最重要的是,与您合作的另一位程序员可以将两个数字加在一起,而不必担心如何操作,他们可以调用您的函数。

编辑:调用该函数的工作方式如下

var num1 = 10;
var num2 = 15;
var z = add(num1, num2); //z = 25

答案 2 :(得分:0)

function newFunction(data, status){ ... function code ... }

这是一个名为newFunction的函数的Javascript定义。 您可以将参数传递给函数。这些变量,无论是数字还是字符串,函数应该用它来做某事。 当然,函数行为/输出取决于你给它的参数。

http://www.quirksmode.org/js/function.html