浅谈几种常用的JS类定义方法


Posted in Javascript onJune 08, 2016

// 方法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);

以上这篇浅谈几种常用的JS类定义方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
防止文件缓存的js代码
Jan 10 Javascript
jQuery学习笔记之jQuery动画效果
Sep 09 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 Javascript
JS实现两个大数(整数)相乘
Apr 28 Javascript
jQuery实现延迟跳转的方法
Jun 05 Javascript
简介JavaScript中fixed()方法的使用
Jun 08 Javascript
jquery插件方式实现table查询功能的简单实例
Jun 06 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
vue自定义一个v-model的实现代码
Jun 21 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
Aug 31 Javascript
layui 动态设置checbox 选中状态的例子
Sep 02 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
浅谈javascript中的constructor
Jun 08 #Javascript
js定义类的几种方法(推荐)
Jun 08 #Javascript
JavaScript必知必会(七)js对象继承
Jun 08 #Javascript
JavaScript必知必会(六) delete in instanceof
Jun 08 #Javascript
JavaScript必知必会(五) eval 的使用
Jun 08 #Javascript
webpack中引用jquery的简单实现
Jun 08 #Javascript
js验证框架之RealyEasy验证详解
Jun 08 #Javascript
You might like
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
js实现二级菜单渐隐显示
2015/11/03 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
python关于变量名的基础知识点
2020/03/03 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
Python eval函数原理及用法解析
2020/11/14 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
中软国际Java程序员机试题
2012/08/19 面试题
智能电子应届生求职信
2013/11/10 职场文书
双十佳事迹材料
2014/01/29 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
人事专员岗位职责
2015/02/03 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL