闭包 既保证了 内部函数的私有性 又可以向外公开
通过一个已有对象 向它注入属性
1 /** 2 * 闭包 3 * 在函数中定义的函数,在外部使用 4 * 1、在函数内部定义的函数,在外部不能访问 5 */ 6 function a(){ 7 /** 8 * b函数是一个私有函数 9 */ 10 function b(){ 11 alert("aaaa"); 12 } 13 return b; 14 } 15 //var bb = a(); 16 //bb(); 17 (function(){ 18 var aa = 5; 19 function a(){ 20 /** 21 * 公开api 22 */ 23 return { 24 b:b, 25 c:c 26 } 27 } 28 function b(){ 29 alert("b"); 30 } 31 function c(){ 32 alert("c"); 33 } 34 window.a = a; 35 })(); 36 var json = window.a(); 37 json.b(); 38 json.c();