您的位置:首页 > 其它

创建能够记住其状态的函数

2017-08-18 15:28 453 查看
问题:想要创建一个函数,它能够记住数据,但是不必是全局变量,并且不必对每个函数重新发送相同的数据。

解决方案:使用闭包

function greetingMaker(greeting){
function addName(name){
return greeting+ " " + name;
}
return addName;
}
//创建一个新的局部函数
var daytimeGreeting = greetingMaker("Good Day to you");
var nightGreeting = greetingMaker("Good Evening");
//如果是白天
console.log(daytimeGreeting("Marry"));
//如果是黑夜
console.log(nightGreeting("Dock"));
//输出
"Good Day to you Marry"
"Good Evening Dock"


闭包的优点:可以使内部函数访问外部函数的作用域

闭包的缺点:内存泄露
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: