菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 前端-王卓凡-20230601 [打印本页]

作者: 王卓凡    时间: 2023-6-13 18:15
标题: 前端-王卓凡-20230601
高阶函数
高阶函数是对其他函数进行操作的函数,它接收函数作为参数或者将函数作为返回值输出
function fn(callback) {
    callback()
}
fn(function () {
    console.log('cb')
})

//或者

function fn() {
    return function () {
        console.log(1)
    }
}
var f = fn()
f()闭包 - closure
ES6之前变量的作用域分为两种:全局和局部。
函数内部可以访问函数外面的变量,外部无法使用函数内部的变量。
函数执行结束,内部的变量会自动销毁。
闭包就是指有权访问另一个函数作用域中的变量的函数
闭包就是函数。
闭包的作用:扩展了变量的作用范围。
外层函数的变量 + 内层函数


function fun() {
  //外层函数的变量
    let a = 10
    //内层函数
    function fn() {
        console.log(a)
    }
    fn()
}
fun()
外部访问内部变量的实现
function fun() {
    var a = 10
    function fn() {
        console.log(a)
    }
    return fn
}
var f = fun()
f()案例应用<ul>
    <li>鸡蛋</li>
    <li>牛肉</li>
    <li>火腿</li>
    <li>腊肉</li>
</ul>var lis = document.querySelectorAll('li')
for (var i = 0; i < lis.length; i++) {
    (function (i) {
        console.log(i)
        lis.onclick = function () {
            alert(i)
        }
    })(i)
}var lis = document.querySelectorAll('li')
for (var i = 0; i < lis.length; i++) {
    (function (i) {
        setTimeout(function () {
            console.log(lis.innerHTML)
        }, 2000)
    })(i)
}








欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4