// 方法1 对象直接量

  1. var obj1 = {
  2. v1 : "",
  3. get_v1 : function() {
  4. return this.v1;
  5. },
  6. set_v1 : function(v) {
  7. this.v1 = v;
  8. }
  9. };
  10. obj1.set_v1('hello1');
  11. alert(obj1.get_v1());

// 方法2 定义函数对象

  1. var Obj = function() {
  2. var v1 = "";
  3. this.get_v1 = function() {
  4. return this.v1;
  5. };
  6. this.set_v1 = function(v) {
  7. this.v1 = v;
  8. }
  9. };
  10. var obj2 = new Obj();
  11. obj2.set_v1('hello2');
  12. alert(obj2.get_v1());

// 方法3 原型继承

  1. var Obj3 = new Function();
  2. Obj3.prototype = {
  3. v1 : "",
  4. get_v1 : function() {
  5. return this.v1;
  6. },
  7. set_v1 : function(v) {
  8. this.v1 = v;
  9. }
  10. };
  11. var obj3 = new Obj();
  12. obj3.set_v1('hello3');
  13. alert(obj3.get_v1());

// 方法4 工厂模式

  1. function loadObj() {
  2. var tmp = new Object();
  3. tmp.v1 = "";
  4. tmp.get_v1 = function() {
  5. return tmp.v1;
  6. };
  7. tmp.set_v1 = function(v) {
  8. tmp.v1 = v;
  9. };
  10. return tmp;
  11. }
  12. var obj4 = loadObj();
  13. obj4.set_v1('hello4');
  14. alert(obj4.get_v1());
 
 

JS类定义方式的更多相关文章

  1. 几种常用的JS类定义方法

    几种常用的JS类定义方法   // 方法1 对象直接量var obj1 = {    v1 : "",    get_v1 : function() {        return ...

  2. Js 类定义的几种方式

    提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for ...

  3. 几种常用的JS类定义方法(转)

    // 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : funct ...

  4. js面向对象编程: js类定义函数时prototype和this差别?

    在面向对象编写js脚本时,定义实例方法主要有两种 例如以下: function ListCommon2(afirst) { var first=afirst; this.do1=function () ...

  5. 我喜欢的两个js类实现方式

    闭包实现 变量是不会变的:) var myApplication = function(){ var name = 'Yuri'; var age = '34'; var status = 'sing ...

  6. 我喜欢的两个js类实现方式 现在再加上一个 极简主义法

    闭包实现 变量是不会变的:) var myApplication = function(){ var name = 'Yuri'; var age = '34'; var status = 'sing ...

  7. js面向对象编程: js类定义函数时prototype和this区别?

    参考文章的链接:http://www.2cto.com/kf/201406/307790.html 测试代码如下: function ListCommon2(afirst) { var first=a ...

  8. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  9. JS中定义类的方法

    JS中定义类的方式有很多种: 1.工厂方式    function Car(){     var ocar = new Object;     ocar.color = "blue" ...

随机推荐

  1. 写给C语言新手的话

    首先声明啊,写这个是因为一些加我QQ的朋友问我学习经验,我才写的. 另外,如果是二级党,那么请用谭浩强老师的书.然后你就可以不用看了.倒不是有偏见,而是我写的这个东西,根本不是为了考试,而是为了和新手 ...

  2. hprose rpc使用实例(同时有Java和Delphi客户端的例子)

    php server <?php require_once('src/Hprose.php'); function hello($name) { echo "Hello $name!& ...

  3. [IDEs]Eclipse设置花括号样式

    用惯Vistual Studio,在使用Eclipse时发现有很多东西还是挺不习惯,第一个就要解决花括号的样式 步骤: 1.Windows->Preferences->Java->C ...

  4. TestComplete实测Flex

    1.TestComplete提供了已经编译好的Flex界面,可以直接使用: http://support.smartbear.com/samples/testcomplete9/flex/orders ...

  5. JavaScript2谁刚开始学习应该知道4最佳实践文章(翻译)

    原版的:24 JavaScript Best Practices for Beginners (注:阅读原文的时候没有注意公布日期,觉得不错就翻译了,翻译到JSON.parse那一节觉得有点不正确路才 ...

  6. Android动绘图标——I am not a gif maker,I am a developer

    最早在git上发现一个非常酷眩的动绘图标效果: https://github.com/xuyisheng/tickplusdrawable 不得不说,国外的程序猿在细节的考虑上,确实比我们要好非常多, ...

  7. BZOJ 1176([Balkan2007]Mokia-CDQ分治-分治询问)

    1176: [Balkan2007]Mokia Time Limit: 30 Sec   Memory Limit: 162 MB Submit: 185   Solved: 94 [ Submit] ...

  8. dia 在Linux(ubuntu)下无法输入中文的解决办法 .

    我是执行一下命令安装的 sudo apt-get install dia sudo apt-get install dia 打开软件后发现不能输入中文,网上搜索一圈后找到以下解决方案 sudo vim ...

  9. poj2387(最短路)

    题目连接:http://poj.org/problem?id=2387 题意:有N个点,给出从a点到b点的距离,当然a和b是互相可以抵达的,问从1到n的最短距离. 分析:最短路裸题. #include ...

  10. Beijing seminar: China shadow banking

    Beijing seminar: China shadow banking-张化桥-财新博客-新世纪的常识传播者-财新网 Beijing seminar: China shadow banking