码迷,mamicode.com
首页 > Web开发 > 详细

几种常用的JS类定义方法(转)

时间:2015-09-12 23:35:31      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

 1 // 方法1 对象直接量
 2 var obj1 = {
 3     v1 : "",
 4     get_v1 : function() {
 5         return this.v1;
 6     },
 7     set_v1 : function(v) {
 8         this.v1 = v;
 9     }
10 };
11 
12 // 方法2 定义函数对象
13 var Obj = function() {
14     var v1 = "";
15     this.get_v1 = function() {
16         return this.v1;
17     };
18     this.set_v1 = function(v) {
19         this.v1 = v;
20     }
21 };
22 
23 // 方法3 原型继承
24 var Obj3 = new Function();
25 Obj3.prototype = {
26     v1 : "",
27     get_v1 : function() {
28         return this.v1;
29     },
30     set_v1 : function(v) {
31         this.v1 = v;
32     }
33 };
34 
35 // 方法4 工厂模式
36 function loadObj() {
37     var tmp = new Object();
38     tmp.v1 = "";
39     tmp.get_v1 = function() {
40         return tmp.v1;
41     };
42     tmp.set_v1 = function(v) {
43         tmp.v1 = v;
44     };
45     return tmp;
46 }
47 
48 obj1.set_v1(‘hello1‘);
49 alert(obj1.get_v1());
50 
51 var obj2 = new Obj();
52 obj2.set_v1(‘hello2‘);
53 alert(obj2.get_v1());
54 
55 var obj3 = new Obj3();
56 obj3.set_v1(‘hello3‘);
57 alert(obj3.get_v1());
58 
59 var obj4 = loadObj();
60 obj4.set_v1(‘hello4‘);
61 alert(obj4.get_v1());
62 
63 alert(obj1);
64 alert(obj2);
65 alert(obj3);
66 alert(obj4);
67 
68 类的基本使用
69 
70 /**
71 * 定义一个类User,js中使用构造函数实现
72 */
73 User = function(sname,spass){
74 //定义属性
75 this.name = sname;
76 this.pass = spass;
77 }
78 
79 // js通过prototype动态为类添加方法
80 User.prototype.sayHello = function(){
81 alert("sayHello():Hello everyone!");
82 };
83 
84 // js通过prototype动态为类添加属性
85 User.prototype.sex = "男";
86 
87 // 测试函数
88 function testUser(){
89 var user = new User(‘Dream‘,‘123‘);
90 alert("姓名:"+user.name+"\n"+"密码:"+user.pass+"\n"+"性别:"+user.sex);
91 user.sayHello();
92 }

 

几种常用的JS类定义方法(转)

标签:

原文地址:http://www.cnblogs.com/nele/p/4803853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!