几种常用的JS类定义方法(转)
2015-09-12 23:15
585 查看
// 方法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 Obj3(); 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); 类的基本使用 /** * 定义一个类User,js中使用构造函数实现 */ User = function(sname,spass){ //定义属性 this.name = sname; this.pass = spass; } // js通过prototype动态为类添加方法 User.prototype.sayHello = function(){ alert("sayHello():Hello everyone!"); }; // js通过prototype动态为类添加属性 User.prototype.sex = "男"; // 测试函数 function testUser(){ var user = new User('Dream','123'); alert("姓名:"+user.name+"\n"+"密码:"+user.pass+"\n"+"性别:"+user.sex); user.sayHello(); }
相关文章推荐
- js javascript 模拟点击 超级链接点击 转
- 用Javascript实现图片的缓慢缩放效果
- JS弹出窗口代码大全
- 省市联动 纯html+js
- 省市联动 纯html+js
- 一个简单的jsp+servlet实例,实现简单的登录
- 前台后台验证 后台像前台编写JavaScript脚本 在控件中添加属性值 母版页以及占位符 内容页
- JS实现网页加载进度条
- javascript高级程序设计---拖拉事件
- JSP/Servlet 工作原理
- Ext的get和fly方法
- JS的onerror事件
- JS数据类型之Math对象
- Servlet和JSP的区别
- QQ空间留言的JS
- javaScript
- "use strict"; ----Javascript 严格模式详解
- js制作带有遮罩弹出层实现登录小窗口
- js ie非ie浏览器的几种判断方法小结
- [LeetCode][JavaScript]Search for a Range