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