Javascript 有人能解释一下这个值是如何通过参数传递的吗?
有人能解释一下它是如何工作的吗? 调用函数时,它会记录“some value” 但是,如果我像这样调用函数,我会得到一个错误“pass不是函数” 像这样,错误“参数”没有定义Javascript 有人能解释一下这个值是如何通过参数传递的吗?,javascript,function,Javascript,Function,有人能解释一下它是如何工作的吗? 调用函数时,它会记录“some value” 但是,如果我像这样调用函数,我会得到一个错误“pass不是函数” 像这样,错误“参数”没有定义 function a(pass){ pass("some value"); } console.log(a(argument)); 例1: function a(pass){ pass("some value"); } a(q=>{ console.log(q); }); 在本例中,您正在传递q=
function a(pass){
pass("some value");
}
console.log(a(argument));
例1:
function a(pass){
pass("some value");
}
a(q=>{
console.log(q);
});
在本例中,您正在传递q=>{console.log(q);}
到函数a。所以它调用它并在控制台中输出一些东西
例2:
function a(pass){
pass("some value");
}
console.log(a());
在这种情况下,您没有向函数a传递任何参数。因此,函数试图调用一个未定义的参数,根据定义,该参数不是函数
例3:
function a(pass){
pass("some value");
}
console.log(a(argument));
在这种情况下,您将一个名为argument
的未定义变量传递给函数a,这将导致您收到的错误消息。我希望这有帮助。欢迎
1:这里您已经传递了一个函数作为参数。函数执行函数a中提供的值的console.log
2:这里您没有提供任何功能。您正在调用a()
。a()
没有定义。只有a(pass)
的定义。必须使用参数调用它。如果没有,就好像调用了a(未定义)
。现在a尝试执行未定义('some value')
,抛出错误
3:这里,什么是论点?删除
函数a(){}
代码,然后看到您正在尝试执行a(参数)
,但是参数
没有在任何地方定义,JS无法确定什么是参数。上述代码中的函数a
是一个高阶函数。因为它需要另一个函数作为参数
value
将是一个函数。那么由于
pass(“某个值”)代码>将调用它
a
传递任何内容,因此pass
将是未定义的。当您对任何不是函数的变量使用函数调用语法时,它将抛出错误
参数
传递给函数a
。但是参数
不存在,因此它会抛出错误您需要一个pass函数,因为您在调用函数a()时正在调用它
第一:您正在将arrow函数作为参数传递。第二:你没有传递任何东西,所以它不能是一个函数。第三:参数从未声明过。
function a(pass){
pass("some value");
}
console.log(a());
function a(pass){
pass("some value");
}
console.log(a(argument));
function a(pass){
pass("some value");
}
console.log(a());
function pass(xyz){
alert('hey');
}