247 高阶函数 之 函数可以作为参数传递

高阶函数:就是对其他函数进行操作的函数,它接收函数作为参数,或将函数作为返回值输出。

此时fn 就是一个高阶函数。

函数也是一种数据类型,同样可以作为参数,传递给另外一个参数使用,最典型的就是作为回调函数。

同理函数也可以作为返回值传递回来。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="jquery.min.js"></script>
    <style>
        div {
            position: absolute;
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <div></div>
    <script>
        // 高阶函数- 函数可以作为参数传递
        function fn(a, b, callback) {
            console.log(a + b);
            callback && callback();
        }

        fn(1, 2, function() {
            console.log('我是最后调用的');
        });

        $("div").animate({
            left: 500
        }, function() {
            $("div").css("backgroundColor", "purple");
        })
    </script>
</body>

</html>

原文地址:https://www.cnblogs.com/jianjie/p/12231257.html

时间: 2024-12-16 07:29:08

247 高阶函数 之 函数可以作为参数传递的相关文章

react--context,高阶组件,hook

1,Context:不需要在任何组件间添加props方法,可以任意之间的组件树进行 const Context = React.createContext(); const Provider = Context.Provider; //提供者 const Consumer = Context.Consumer; //消费者 function App() { return ( <div className="App"> {/* <HomePag {...store} /

js高阶函数

map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个

python 高阶函数

高阶函数也遵循函数即变量的形式 高阶函数的形式: 1.把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能) 如: def abc(): print('this is abc') def def(func): print(func) def(abc()) ====结果=======出来的是一个内存地址 <function agc at 0x00......> 高阶函数实例 import time def bar(): time.sleep(3) def test1

python 中的高阶函数

函数名其实就是指向函数的变量 >>> abs(-1) 1 >>> abs <built-in function abs> >>> a=abs >>> a(-1) 1 高阶函数:能接收函数做变量的函数 >>> def abc(x,y,f): ... return f(x)+f(y) ... >>> abc(-2,3,abs) 5 python中的内置高阶函数 map()函数和reduce(

Python高阶函数-闭包

高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 在这里我们首先回忆一下python代码运行的时候遇到函数是怎么做的. 从python解释器开始执行之后,就在内存中开辟了一个空间 每当遇到一个变量的时候,就把变量名和值之间的对应关系记录下来. 但是当遇到函数定义的时候解释器只是象征性的将函数名读入内存,表示知道这个函数的存在了,至于函数内部的变量和逻辑解释器根本不关心. 等执行到函数调用的时候,python解释器会再开辟一块内存来存储这个函数里的内容,这个时候,才关注函数里面有哪

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是

python高阶函数

什么是高阶函数?根据例子一步步来 变量可以指向函数 以python内置的求绝对值的函数abs为例,我们可以有下面几种调用方法 >>> abs(-10) 10 但是如果只写abs呢? >>> abs <built-in function abs> abs(-10)是函数的调用,abs是函数本身 我们知道结果可以赋值给变量,函数是否可以呢? >>> x=abs(-10) >>> x 10 y=abs >>>

【函数】02、匿名函数、生成器、高阶函数

一.匿名函数 1.定义 语法格式: lambda args:expression args:以逗号分隔的参数列表 expression:用到args中各参数的表达式 lambda定义的代码必须是合法的表达式,不能出现多条件语句(可使用if的三元表达式)和非表达式,如for和while等 lambda的首要用途是指定短小的回调函数 lambda将返回一个函数而不是将函数赋值给某变量名 In [77]: lambda x: x+1 Out[77]: <function __main__.<lamb

5.初识python装饰器 高阶函数+闭包+函数嵌套=装饰器

一.什么是装饰器? 实际上装饰器就是个函数,这个函数可以为其他函数提供附加的功能. 装饰器在给其他函数添加功能时,不会修改原函数的源代码,不会修改原函数的调用方式. 高阶函数+函数嵌套+闭包 = 装饰器 1.1什么是高阶函数? 1.1.1函数接收的参数,包涵一个函数名. 1.1.2 函数的返回值是一个函数名. 其实这两个条件都很好满足,下面就是一个高阶函数的例子. def test1(): print "hamasaki ayumi" def test2(func): return t