Bootstrap

【前端每日基础】day1——闭包

闭包(Closure)是指在函数内部创建的函数,它可以访问其外部函数作用域中声明的变量和参数,即使外部函数已经执行完毕,这些变量仍然可以被内部函数访问和操作。换句话说,闭包可以“记住”并访问其词法作用域,即定义时的作用域,而不是调用时的作用域。

一个闭包通常由两部分组成:

内部函数:在外部函数内部定义的函数。
外部函数作用域:内部函数可以访问的外部函数的变量和参数。

说的通俗一点,就是大函数包小函数,小函数可以访问和调用大函数的变量和参数,小函数就算是闭包。

闭包在JavaScript中具有重要的作用,它可以用于创建私有变量、实现模块化、延迟执行等。下面是一个简单的闭包示例,里面的innerFunction是一个闭包:

function outerFunction() {
    var outerVariable = 'I am outer!';
    
    function innerFunction() {
        console.log(outerVariable); // 内部函数可以访问外部函数的变量
    }
    
    return innerFunction;
}

var innerFunc = outerFunction(); // 调用外部函数,得到内部函数
innerFunc(); // 输出: "I am outer!"

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;