几种常用的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 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类定义方法(转)的更多相关文章
- 几种常用的JS类定义方法
几种常用的JS类定义方法 // 方法1 对象直接量var obj1 = { v1 : "", get_v1 : function() { return ...
- Hutool中那些常用的工具类和方法
Hutool中那些常用的工具类和方法 Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子.如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有.本文将对Hu ...
- Js 类定义的几种方式
提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for ...
- Java中几种常用数据类型之间转换的方法
Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...
- JS如何定义方法及调用 精选
简单搜索了下,遇到点问题1,经常在JS中看到如var foo = function(){}的形式foo是方法名还是对象名,如果想调用此方法,是用foo(),foo.function(),还是该如何正确 ...
- QF——UI之几种常用的隐藏键盘的方法
怎么在填写完UITextField之后,点击空白处,隐藏软键盘. 下面两个方法都可以隐藏键盘 [tf resignFirstResponder]; 停止textfield的第一响应者 [self.vi ...
- js面向对象编程: js类定义函数时prototype和this差别?
在面向对象编写js脚本时,定义实例方法主要有两种 例如以下: function ListCommon2(afirst) { var first=afirst; this.do1=function () ...
- 【转】17种常用的JS正则表达式 非负浮点数 非负正数.
<input type='text' id='SYS_PAGE_JumpPage' name='SYS_PAGE_JumpPage' size='3' maxlength='5' onkeyup ...
- Android中几种常用的定时器和延时方法
通过实际项目的练习,掌握了几种android基本定时器和延时的用法,这里我想总结一下作为自己的收获,下面列出的是比较简洁的模式,方便简单地在程序中直接调用. 一.三种常用的定时器 1.Handler类 ...
随机推荐
- GraphX的三大图算法
1. PageRank http://blog.csdn.net/hguisu/article/details/7996185 2. Connected Components 3. Triangle ...
- ListView优化-通用ViewHolder编写备份
ViewHolder.java package cn.edu.bzu.util; import android.content.Context; import android.util.SparseA ...
- Genymotion关于【启动后player.exe已停止运行】解决方案总结
1. 你硬盘空间不足,或是暂存区不够,请少执行一些程序或关掉一些p2p的程序,或是到控制面板卸载一些不必要的程序.最好的建议是定期进行硬盘清理,确保不浪费多余空间 ---以上来源(http://www ...
- [U3D 导出Xcode工程包,用Xcode给U3D脚本传递参数]
1.导出Xcode工程 File->Building and setting,导出IOS工程(有错误会失败) 2.运行Xcode工程,在Classes文件夹的UI文件夹里,早到UnityAppC ...
- MVC5-10 ModleBinder那点事
模型绑定器 之前或多或少也提到过模型绑定器,方法的形参就是由模型绑定器把参数绑定上去的,今天就说说ModuleBingder那点事 在MVC中有一个接口叫IModuleBinder // // 摘要: ...
- Beta Daily Scrum 第四天
[目录] 1.任务进度 2.困难及解决 3.燃尽图 4.代码check-in 5.站立会议图 6.总结 1. 任务进度 学号 今日完成 明日完成 612 完成成就界面的统计图表 继续编写成就界面的图表 ...
- css3新增属性API
写在前面:由于CSS5标准还未完全订下来,所以各种内核的浏览器都有自己的标准,为了不使属性混淆,所以各家在各自标准前加了一个前缀. -moz- 主要是firefox火狐 -webikt-主要是chr ...
- C++ Primer Plus读书笔记
第五章 循环和关系表达式 1. 2.类别别名: (1) #define FLOAT_POINTER float * FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成 flo ...
- Linux Basis --- commands of vi
EDIT mode to GENERAL mode: press ESC general mode: CLOSE FILE :q! :force to close the file but no ...
- C#调用WebService实现天气预报
http://zhangkui.blog.51cto.com/1796259/497324/ 本文使用Winform (C#)调用互联网上公开的WebServices(http://www.webxm ...