传递函数作为参数我有希望作为参数传递在一个单独的函数
function myFun(){
}
function myFunParam(myFun){
}
是上面的代码正确的功能?如何在myFunParam
内调用功能myFun
?
传递函数作为参数我有希望作为参数传递在一个单独的函数
function myFun(){
}
function myFunParam(myFun){
}
是上面的代码正确的功能?如何在myFunParam
内调用功能myFun
?
function myFun(){
}
function myFunParam(myFun){
if ($.isFunction(myFun)){
//Added example of passing arguments to myFun
myFun.apply(this, ['arg1', 'arg2', 'arg3']);
}
}
您还可以通过匿名函数,
myFunParam(function(){
alert('anonymous function');
});
function myFun(){
alert('test');
}
function myFunParam(myFun){
if (typeof myFun === "function")
myFun(); // alerts "test"
}
如果你的功能,需要一个自变量,你会怎么做:
function myFun(myarg){
alert(myarg);
}
function myFunParam(myFun){
if (typeof myFun === "function")
myFun('foo'); // alerts "foo"
}
或者你也可以通过任意数量的参数使用arguments
对象(实际上是一个类似数组的对象)。
如果有什么功能myFun有一个参数也? – user701254
@ user701254:这已经在我的答案中提到过了,参数也意味着这里的参数:)见第二个例子。 – Sarfraz
这是正确的,但我肯定会重新命名的参数,以避免全球myFun和参数之间的混淆:
function myFunParam(func) {
func(); // call function
}
你的代码是正确的。你需要这样调用:
function myFun(){
}
function myFunParam(myFun){
// Other Statements
myFun();
}
希望它有帮助! :)
或者你可以做到这样也
var newFunction = function() {
alert("I am in newFunction");
}
function calleFunction(func) {
func();
}
calleFunction(newFunction);
function outerFunction(innerFunction) {
innerFunction(); // call inner function
}
非常干净的方法+1 – skafandri
新增传递参数给myFun的例子,必须经过审查 – Onkelborg