请问在JS中如何将一个函数作为参数传递?

JavaScript019

请问在JS中如何将一个函数作为参数传递?,第1张

直接传函数名 比如funcB 在函数里面 直接执行funcB()

var b = function(){alert(1)}

var a = function(v1,v2){v2()}

a(1,b)

无办法直接做到这一点,不过可以采用其他方法实现,例如:首先,定义被调用函数的参数为va_list类型,同时在调用函数中将可变长参数列表转换为va_list,这样就可以进行变长参数的传递了。看如下所示:

void subfunc (char *fmt, va_list argp)

{

...

arg = va_arg (fmt, argp)/* 从argp中逐一取出所要的参数 */

...

}

void mainfunc (char *fmt, ...)

{

va_list argp

va_start (argp, fmt)/* 将可变长参数转换为va_list */

subfunc (fmt, argp)/* 将va_list传递给子函数 */

va_end (argp)

...

}

这样就OK了!

1、定义二个方法

function k1(){//定义一个函数k1

   alert('k1')

}

function k2(p){//定义一个函数k2,参数为方法

   p()//执行参数表示的函数

}

2、k1作为参数,传递到k2中

k2(k1)//把k1作为参数传入到k2中,这里执行后会弹出 "k1"