简析Js对象的封装与实践

来源:互联网 发布:时时彩计划软件公式 编辑:程序博客网 时间:2024/05/29 04:21

这是js最原始的对象构造方法,非常粗略,

</pre><pre name="code" class="javascript">function testObject() {var o1 = new Object();o1.uname = 'zhangsan';o1.age = 18;o1.fav = ['足球', '篮球', '乒乓球'];o1.run = function() {alert(" GOGOGO ");}o1.run()  //执行run方法}

进阶的工厂类 创建对象的方法


function factory(uname, pwd, realname) {var o = {};o.uname = uname;o.pwd = pwd;o.realname = realname;o.age = 18;o.run = function() {alert(" A A A");}var fav = ['足球', '篮球', '乒乓球'];return o;}function testFactory() {var u1 = factory('zhangsan', '123456', '张三');alert(u1.fav);}

不过个人感觉前两种方法都不是太好,不太符合对象的封装特点,所以个人写了一个最终极版的js对象封装方法,和java不一样,js采用原型的方式来对对象封装相应的方法方法,可以自由的设置get/set,还有对象构造方法constructor方法,toString等,相对来说较为方便,一比较推荐大家使用

function Person(name, age) {this.name = name;this.age = age;                                this.sayName = function(){                                 alert(this.name); }};Person.prototype.constructor = Person;Person.prototype.setAge = function(age) {this.age = age;};Person.prototype.setName = function(name) {this.name = name;};Person.prototype.getAge = function() {return this.age;};Person.prototype.getName = function() {return this.name;};var t = new Person();t.setName("sss");alert(t.getName());

这是js最原始的对象构造方法

0 0
原创粉丝点击