javascript定义类和实例化类

2016-02-19 21:27 2 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的javascript定义类和实例化类,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

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

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

  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();

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  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();

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1626193.html

延伸阅读
标签: Web开发
做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。 里面有三个方法: 1、request.QueryString("参数")//获取指定参数,返回字符串; 2、request.QueryStrings();//获取全部参数,并返回数组; 3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则...
初始化类对象 赵湘宁 问题:        C++中如何初始化类中的表数据?在C语言中,我能像下面这样初始化结构数组: //struct MYSTRUCT { int x,y,z;};MYSTRUCT table[] = { { 1,2,3 }, { 4,5,6 }, ... // etc};// ...
标签: Web开发
与现在那些Ajax框架比较,优劣之处?看完再说吧: 1、Ajax.js 代码如下: /*     AJAX v1.4     HJF 2009-7-5 */ function AjaxDO(){     this.HttpRequest = null;     this.openMethod = null; //HTTP请求的方法,为Get、Post 或者Head  ...
标签: Web开发
最近遇到了一道 Javascript 考题,内容如下: 尝试实现注释部分的 Javascript 代码,可在其他任何地方添加更多 代码(如不能实现,说明一下不能实现的原因): var Obj = function(msg){    this.msg = msg;    this.shout = function(){  ...
标签: Web开发
HTML  HEAD   SCRIPT LANGUAGE="JavaScript"   !--  var Drag = {   sx : 0,   sy : 0,   ex : 0,   ey : 0,   lx : 0,   ly : 0,   offsetX : 0,   offsetY : 0,   cdom : null,   dragAble : false,   dragFun : null,   tempDrag : function(){  &nb...

经验教程

526

收藏

46
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部