javascript定义类和实例化类

作者: 不良怪兽 | 来源:发表于2015-01-29 17:03 被阅读544次

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

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

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

1、混合的构造函数/原型方式

<code>
//混合的构造函数/原型方式
//创建对象
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();

</code>

2、动态原型方法

<code>
//动态原型方法
//创建对象
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();
</code>

相关文章

  • javascript定义类和实例化类

    在Javascript中,一切都是对象,包括函数。在Javascript中并没有真正的类,不能像C#,PHP等语言...

  • 深入解析Javascript定义类和类的实现实例

    本文主要介绍了javascript定义类和类的实现,结合实例形式较为详细的分析了JavaScript类的定义方式与...

  • 跟我一起学Python(五)

    类和实例 类的定义和实例化 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的...

  • 24.面向对象(类、封装)

    面向对象(类、封装) 一、类与实例对象 1). 类的定义与实例化 实例化之前先定义类,类名要大写 (解释性语言特点...

  • Python:type 的另一面

    type本身是类,也是自己的类型。它是一个元类。元类用于实例化并定义类的行为,就像类用于实例化并定义实例的行为一样...

  • python基础-09-面向对象、装饰器

    面向对象 类概念 类的定义 类的实例化 类和实例的属性 类的私有变量 数据封装 继承 多态 多继承 类的特殊方法 ...

  • Python基础018--类的创建及实例化、类继承

    类的创建以及实例化、类继承 类的创建以及实例化定义:用来描述具有相同的属性和方法的对象的集合;它定义了该集合中每个...

  • 22、错误和异常

    上集回顾: 类的定义 实例对象 继承 上集学习了类的相关知识,掌握了如何去定义一个类、如何实例化类的对象以及使用和...

  • Go 语言极速入门4 - 面向对象

    一、自定义类 定义类:type 类名 struct 1.1、定义类 1.2、实例化类 二、方法 方法的定义方法实际...

  • JAVA 第二章 —— 类

    第二章 1.类的定义与实例化 1.1类的定义 类必须先定义才能使用,类是创建对象的模板,创建对象也叫类的实例化。语...

网友评论

  • LostAbaddon:JS的核心思想是原型链,个人认为将原型链用面向对象的语言来理解不是很合适。
  • LostAbaddon:代码段可以这么写:
    ````
    function clsTest (name) {
    this.name = name;
    }
    clsTest.prototype.sayHello = function () {
    console.log('Hello ' + this.name + '!');
    };
    ````

    这样会比用文本引用来写代码更美观哦~

本文标题:javascript定义类和实例化类

本文链接:https://www.haomeiwen.com/subject/xrdlxttx.html