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类

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgwdxg.html