JavaScript中实现私有属性的写类方式(2)

摘要: 上一篇写了个工具函数$class,这篇再完善以下。实现以下功能1,继承2,子类继承父类时,不继承父类的私有属性/** * @param {String} className * @param {String/Function} superCls * @param {Function} classImp */function $class(className, superCls, classImp){ if(superCls === '') superCls = Object; function clazz(){ if(typeof this.init == "func 阅读全文
posted @ 2011-04-18 19:24 snandy 阅读(2569) 评论(7) 推荐(0)

JavaScript中实现私有属性的写类方式(1)

摘要: 之前讨论过JavaScript中的写类方式。但没有讨论私有的实现。这篇看下。我们知道JS中私有属性的实现本质就是 var + closure。如下function Person(n, a){ // public this.name = n; // private var age = a; this.getName = function(){ return this.name; } this.getAge = function(){ return age; }}测试如下,age是私有的,使用点操作符无法获取到,而只能使用getName方法。var p = new Person('jack 阅读全文
posted @ 2011-04-18 17:29 snandy 阅读(4000) 评论(5) 推荐(0)