閉包:在內部函數定義的函數在外部使用的現象,叫做閉包。
保證屬性的私有性
這個叫匿名函數
(function(形參){
})(實參);
(function(a){
alert(a);
})(5);
輸出:5
(function(){
該函數定義在匿名函數中
function Person(){
//該函數返回一個json格式對象
return{
setName:setName,
setSex:setSex,
getName:getName,
getSex,getSex
};
}
function setName(){
this.name=name;
}
function setSex(){
this.sex=sex;
}
function getName(){
return this.name;
}
function getSex(){
return this.sex;
}
window.Person=Person;
})();
var Person = window.Person;
可以通過閉包實現函數的公開化和私有化,繼承的內部實現實際上是利用了閉包。