JS闭包
刚刚上大一,准备每天写点自己学到的东西叭。
下面进入正题
Closures
闭包是JavaScript中最强大的特性之一
内部函数
可以访问自身内部的变量和函数以外,还可以访问其外部函数可以访问到的所有
的变量和函数- 外部函数不能访问其内部函数中的变量和函数。这样给内部函数提供了一定的安全性(相当于一个保险箱)
//name和sex只能由 内部函数 访问和操作
let createPet = function(name) {
let sex;
//返回结果为一个对象
return{
//对象属性由[ 键:值 ]组成
setName: function(newName) {
//将name重新赋值为newName
name = newName;
}
getname: function() {
//返回name
return name;
}
setSex: function(newSex) {
//满足条件将sex赋值为newSex
if(typeof newSex == "string"&&
(newSex.toLowerCase() == "male" || newSex.toLowerCase() == "female")){
sex =newSex;
}
}
getSex:function(){
return sex;
}
}
}