把一个函数作为参数传入到函数中

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
function f1(func){       //func函数作为参数传入f1函数
    console.log(‘1‘);        //首先进入f1函数
    setTimeout(function(){
        console.log(‘2‘);    //继续进入setTimeout方法,继续往下走,看到了调用func函数,然后去找func函数定义的地方,跳到f2函数内
        func();
        console.log(‘4‘);     //走完f2函数,又跳回func函数,继续走f1函数;
    },1000);
}
function f2(){
    console.log(‘3‘);       //跳进f2函数,继续走。走完f2函数,跳回去func函数那地方,继续走完f1函数;
}
f1(f2)
</script>

</body>
</html>

打印出来的顺序是:1234;

把f2函数作为参数传入到f1函数中,也就是异步调用f2函数。可以看到,f1函数没有执行完就碰到了f2函数,执行完f2函数,再接着回去继续执行f1函数。

时间: 2024-10-03 14:05:11

把一个函数作为参数传入到函数中的相关文章

Python中将函数作为另一个函数的参数传入并调用

在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除,以function(*args, **kwargs)进行替代,所以也不应该再使用apply方法 示例代码: def func_a(func, *args, **kwargs): print(func(*args, **kwargs)) def func_b(*args): return args i

Python函数的定义、参数传入与函数的调用

作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包括必选参数.默认参数.可变参数.命名关键字参数以及关键字参数.五类参数可单独传入也可组合传入. >>>> Python 函数的定义 Python中使用def语句来定义函数,然后依次写出函数名.括号.括号内的参数以及最后不能忘记的冒号,函数体需另起一行在缩进块中编写,最后返回值用retu

JavaScript进阶系列02,函数作为参数以及在数组中的应用

有时候,把函数作为参数可以让代码更简洁. var calculator = { calculate: function(x, y, fn) { return fn(x, y); } }; var sum = function(x, y) { return x + y; }, diff = function (x, y) { return x - y; }; var sumResult = calculator.calculate(2, 1, sum), diffResult = calculat

CreateRemoteThread函数多参数传入使用方法

注意事项: 1.Debug版本编译的时候使用增量编译,导致每个函数都是用一个Thunk, 所以请使用Release版本. 2.目标进程非本进程时不能调用本进程内的函数或使用本进程内的变量,有时在隐式使用时可能会引起该 问题,容易引起进程崩溃.(例如WriteProcessMemory写入的函数中调用了本进程的全局变量) 3.多参数使用时请在目标进程中为函数参数分配相应的内存空间,因为CreateRemoteThread第5个参数是LPVOID型, 这意味着它只能放一个指针值,而该指针值应该指向分

Python函数式编程(把函数作为参数传入)

map:接受两个参数(函数,Iterable),map将传入的函数依次作用于Iterable的每个元素,并且返回新的Iterable def f(x): return x*x r = map(f,[1,2,3,4]) #此时的r为惰性求值--可用next()和for...in取值 #通过list()返回全部 print(list(r)) #[1, 4, 9, 16] reduce:接受两个参数(函数,序列),reduce把一个函数作用于序列上,返回的结果继续和序列的下一个元素做累积计算,其效果为

ES6新特性(函数默认参数,箭头函数)

ES6新特性之 函数参数的默认值写法 和 箭头函数. 1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式:   从上面的代码可以看出存在一个问题,当传入的参数为0或者false时,会直接取到后面的值,而不是传入的这个参数值. 那怎么解决呢?对于上图的代码,可以通过判断是否传入了num参数,没有就用默认值:   这种做法还是很麻烦的,而ES6则直接在参数定义里面设置函数参数的默认值,而且不用担心传入参数是0或者false会出错了: 2.箭头函数 箭头函数用 =>

python 把函数作为参数 ---高阶函数

把函数作为参数 在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数: def add(x, y, f): return f(x) + f(y) 如果传入abs作为参数f的值: add(-5, 9, abs) 根据函数的定义,函数执行的代码实际上是: abs(-5) + abs(9) 由于参数 x, y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同的返回值. 任务 利用add(x,y,f)函数,计算: import math def add(x, y, f): r

初识函数、函数的参数、函数的参数传值、函数的调用形式、函数的返回值

初识函数 内置函数自定义函数 定义无参函数 #只打印执行语句的时候def foo(): print('from the foo')# print(foo.__doc__) #查看函数的文档注释 定义有参函数 #依赖外部传来的值的时候def bar(x,y): print(x) print(y) 定义空函数 #程序开发阶段经常使用,写程序框架的时候def auth(): pass 函数的参数 函数的参数介绍形参和实参的概念 def foo(x,y): #在函数定义阶段,括号内定义的参数->形式参数

例题:函数输出参数。理解函数的作用,函数是一个相对独立的代码块

class Program    {        public  int[] shuchucanshu(int[] shu,out int a,out int b) //基本格式,定义一个int数组        {            for (int i = 0; i < shu.Length ; i++) //冒泡排序            {                for (int j = i; j < shu.Length -1; j++)