JS技术

javascript定义类和实例化类

字号+ 作者: 来源:    2014-11-17 20:00 我要评论( )

javascript定义类和实例化类,阅读javascript定义类和实例化类, 在Javascript中,一切都是对象,包括函数。在Javascript中并没有真正的类,不能像C#,PHP等语言中用 class xxx来定义。但Javascript中提供了一种折中的方案:把对象定义描述为对象的配方(先看一

     在Javascript中,一切都是对象,包括函数。在Javascript中并没有真正的类,不能像C#,PHP等语言中用 class xxx来定义。但Javascript中提供了一种折中的方案:把对象定义描述为对象的配方(先看一下例子会比较容易理解)。

     定义类的方法有很多种,这里有两中较为通用的方法,大家参考一下。

     这两种方法均可以解决构造函数会重复生成函数,为每个对象都创建独立版本的函数的问题。

解决了重复初始化函数和函数共享的问题。

 

1、混合的构造函数/原型方式
//混合的构造函数/原型方式
//创建对象
function Card(sID,ourName){
    this.ID = sID;
    this.OurName = ourName;
    this.Balance = 0;
}

Card.prototype.SaveMoney = function(money){
    this.Balance += money;
};

Card.prototype.ShowBalance = function(){
    alert(this.Balance);
};

//使用对象
var cardAA = new Card(1000,'james');
var cardBB = new Card(1001,'sun');

cardAA.SaveMoney(30);
cardBB.SaveMoney(80);

cardAA.ShowBalance();
cardBB.ShowBalance();


2、动态原型方法
//动态原型方法
//创建对象
function Card(sID,ourName){
    this.ID = sID;
    this.OurName = ourName;
    this.Balance = 0;
    if(typeof Card._initialized == "undefined"){
        Card.prototype.SaveMoney = function(money){
            this.Balance += money;
        };

        Card.prototype.ShowBalance = function(){
            alert(this.Balance);
        };
        Card._initialized = true;
    }
}

//使用对象
var cardAA = new Card(1000,'james');
var cardBB = new Card(1001,'sun');

cardAA.SaveMoney(30);
cardBB.SaveMoney(80);

cardAA.ShowBalance();
cardBB.ShowBalance();

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • 零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道 - CSDN.NET qq_3

    零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道

    2015-12-15 09:04

  • 【JavaScript.2】辨析Typeof操作符作用,罗列JS五大数据类型阵容 - 孟东辉 廊坊师范学院信息技术提高班

    【JavaScript.2】辨析Typeof操作符作用,罗列JS五大数据类型阵容 -

    2015-12-15 09:00

  • 图像处理中的数学原理详解19——函数的极限 - 白马负金羁的专栏 - 博客频道 - CSDN.NET 白马负金羁的专栏

    图像处理中的数学原理详解19——函数的极限 - 白马负金羁的专栏 - 博

    2015-12-14 19:00

网友点评