几种常用的JS类定义方法
// 方法1 对象直接量
var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : function(v) { this.v1 = v; } };
// 方法2 定义函数对象
var Obj = function() { var v1 = ""; this.get_v1 = function() { return this.v1; }; this.set_v1 = function(v) { this.v1 = v; } };
// 方法3 原型继承
var Obj3 = new Function(); Obj3.prototype = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : function(v) { this.v1 = v; } };
// 方法4 工厂模式
function loadObj() { var tmp = new Object(); tmp.v1 = ""; tmp.get_v1 = function() { return tmp.v1; }; tmp.set_v1 = function(v) { tmp.v1 = v; }; return tmp; }
obj1.set_v1('hello1');
alert(obj1.get_v1());
var obj2 = new Obj();
obj2.set_v1('hello2');
alert(obj2.get_v1());
var obj3 = new Obj();
obj3.set_v1('hello3');
alert(obj3.get_v1());
var obj4 = loadObj();
obj4.set_v1('hello4');
alert(obj4.get_v1());
alert(obj1);
alert(obj2);
alert(obj3);
alert(obj4);

浙公网安备 33010602011771号