标题 | js的私有静态变量 |
内容 | 网上关于javascript面向对象已经讲得很滥了,但是我发现,没有一篇文章提到如何实现私有静态变量。 很多文章甚至说:“很遗憾,不知道如何实现私有静态变量。” 不知道是不是我不够仔细? 不管了,自己动手,丰衣足食! 大家知道,私有实例变量的原理是根据作用域。 私有实例变量是在javascript的function内部用var关键字实现,只在function内部有效。 仿照这个,提出私有静态变量的解决方案: <script language=javascript type=text/javascript> var jsclass = (function() { var privatestaticvariable = 私有静态变量; var privatestaticmethod = function() { alert(调用私有静态方法); }; return function() { this.test1 = function() { return privatestaticvariable; } this.test2 = function(obj) { privatestaticvariable = obj; } this.test3 = function() { privatestaticmethod(); } }; })(); var testobject1 = new jsclass(); var testobject2 = new jsclass(); alert(testobject1.test1()); testobject1.test2(改变的私有静态变量); alert(testobject2.test1()); testobject2.test3(); </script> 注意不是直接定义javascript类,而是用一个匿名的function作为静态变量的容器,并返回javascript类。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。