几种常用的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类 ...
随机推荐
- [日常训练]FJ省夏令营day1
T1 Description 给出n个矩形的顶点坐标(每个矩形的底边都在x轴上),求这n个矩形所组成图形的轮廓线的顶点. Input 第一行一个整数n,表示矩形个数. 以下n行,每行3个整数,分别表示 ...
- 【BZOJ-3589】动态树 树链剖分 + 线段树 + 线段覆盖(特殊的技巧)
3589: 动态树 Time Limit: 30 Sec Memory Limit: 1024 MBSubmit: 405 Solved: 137[Submit][Status][Discuss] ...
- Linux的#和$区别
[#]代表 root权限[$]代表普通用户 如果更改了/etc/profile , 或~/.bashrc等文档,可以用任何符号来代替它们. linux窗口下的[root@locate~]其中的[~]代 ...
- android录音相关
android的麦克风在现在的生活中发挥着很大的作用,打电话,视频聊天,语音识别等等. android sdk的api里提供了很方便的调用方法,下面写一个小的DEMO. 五个按钮:开始录音,停止,播放 ...
- Uva10881 Piotr's Ants
蚂蚁相撞会各自回头.←可以等效成对穿而过,这样移动距离就很好算了. 末状态蚂蚁的顺序和初状态其实是相同的. 那么剩下的就是记录每只蚂蚁的标号,模拟即可. /*by SilverN*/ #include ...
- linux挂载远程samba目录
yum install cifs-utils #安装cifs协议包 #列出远程目录 smbclient -L 192.100.9.165 -Uadministrator vim /etc/fstab ...
- python反射
python反射 python的反射是基于字符串的形式去对象(模块)中操作其成员.此操作是动态的,常用于web开发中url参数中对应模块或者函数的反射. 下面开始具体说明: 场景需求: 我的pytho ...
- WebConfig节点详解
<!-- Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法. 很适合新手参看,由于Web.config在使用很灵活,可 ...
- Linux下shell脚本中信号捕获和函数练习脚本之ping一个网段
该脚本主要的目的是练习在Linux bash脚本中捕获信号,顺便练习一下函数的使用,还有就是终止一个正在运行的程序后,该程序打开的文件的后续处理问题等等!脚本功能: ping一个网段内的IP,检测哪 ...
- 谈谈 ES6 的 Promise 对象
https://segmentfault.com/a/1190000002928371 前言 开篇首先设想一个日常开发常常会遇到的需求:在多个接口异步请求数据,然后利用这些数据来进行一系列的操作.一般 ...