我只是想更好地理解/确认函数参数 在这里看到的功能:
function newFunction(data, status){
该函数是否专门适用于数据和状态变量?
我不太明白这些论点是如何运作的。
答案 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)
这意味着功能接受 data
和status
参数。调用函数时,调用函数(你)的程序员需要提供参数(也称为参数。)
让我们看一个简化的例子:
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定义。 您可以将参数传递给函数。这些变量,无论是数字还是字符串,函数应该用它来做某事。 当然,函数行为/输出取决于你给它的参数。