闭包是函数和声明该函数的词法环境的组合。
JavaScript中的函数会形成闭包。 闭包是由函数以及创建该函数的词法环境组合而成。这个环境包含了这个闭包创建时所能访问的所有局部变量。
function playGame(){ var name = ‘Ace Combat‘; function playGame_(){ console.log(‘[play game]‘,name); } return playGame_; } var play = playGame(); play();
创建多个闭包
playA
和 playB
都是闭包。它们共享相同的函数定义,但是保存了不同的词法环境。在 playA的环境中,game 为 Ace Combat。而在 playB
中,game 则为 Neo Contra。
function playGame(game) { function playGame_() { console.log(‘[play game]‘, game); } return playGame_; } var playA = playGame(‘Ace Combat‘); var playB = playGame(‘Neo Contra‘); playA(); playB();
原文地址:https://www.cnblogs.com/sea-breeze/p/8994733.html
时间: 2024-10-13 16:36:46