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 }
时间: 2024-12-11 22:24:51