var az = function() { var variable1 = "test"; var variable2 = "test2"; function testFunc() { alert(variable1); } return { init : function() { testFunc(); this.testFunc2(); }, testFunc2 : function() { alert(variable2); } }; }(); az.init();
变量 variable1
和 variable2
. 这两个变量可以看成是 private 的变量。
testFunc
可以看成是 private 函数.
init,testFunc2是public 公共函数.
使用this引用内部的函数.
在类里调用函数有两种方法,一种是写全类名 az.testFunc2() ,第二种是使用this引用,this.testFunc2()
下面再深入一点,如何实现类似java的多级包结构:
var az.util = function() { return { gebi : function(obj) { return document.getElementById(obj); } }; }();
这样就可以用az.uti.getbi()来调用,使用这种封装,代码可以多级地扩展下去.
注意事项:
return 和 {之间不能有回车,否则代码会出错.