js自定义类与对象

js中创建自定义类与创建对象:
js创建类与AS3,java都有很大的不同,,,下面来看看他的庐山真面目。。
由于js也是一个面向对象的编程语言所以也存在像其他语言那样的创建自定义的类,和通过类来创建对象。
js的类是有一下三部门组成
1、构造函数
2、属性
3、方法
自定义一个类:

function MyClass(id,age,name)
{
    this.id = id;
    this.age = age;
    this.name = name;
}

从这个类的定义形式可以看出,js定义类的形式和其他语言有很大的不不同,其他语言定义类需要对类进行正式的定义,而js只是使用了function关键字来定义一个构造函数就可以了。接下来你就可以使用new关键字来创建一个对象了。。

var myClass = new MyClass(12,23,meimei);

从这个类定义中我们也可以看到js和其他语言中的不同:

this.id = id;

其实id这个变量我们并没有定义。在其他语言中一定会报错的。。但是js却可以自动把id当作属性,因为js无需事先定义好类的属性,只需为属性赋值,js会自定创建这些属性的。其实对象也同样使用。当为某个对象事先未定义的属性赋值时,js将自动创建这些属性。
这种自由创建属性的方式看起来很好,却带来了很多的弊端,当我们在在拼写已有的属性时,如果不小心拼错了,这样就会给对象新加一个属性。。
为了防止上面的情况出现我们可以通过像其他语言那样使用set与get:

function MyClass(id,name)
   {
            this.id = id;
            this.name = name ;

    }
     MyClass.prototype.getId = function ()
     {
        return this.id;
     }
     MyClass.prototype.setId = function (id)
     {
        this.id = id;
     }
     MyClass.prototype.getName = function ()
     {
        return this.name;
     }
     MyClass.prototype.setName = function (name)
     {
        this.name = name ;
     }
     var my = new MyClass(123,"weizi");
    document.write(my.getId());
    document.write(my.getName());
    my.setId(345);
    document.write(my.getId());

下面是一个具体的实例:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>标题页</title>
<script language="javascript" type="text/javascript">
   function MyClass(id,name)
   {
            this.id = id;
            this.name = name ;

    }
     MyClass.prototype.getId = function ()
     {
        return this.id;
     }
     MyClass.prototype.setId = function (id)
     {
        this.id = id;
     }
     MyClass.prototype.getName = function ()
     {
        return this.name;
     }
     MyClass.prototype.setName = function (name)
     {
        this.name = name ;
     }
     var my = new MyClass(123,"weizi");
    document.write(my.getId());
    document.write(my.getName());
    my.setId(345);
    document.write(my.getId());
</script>
</head>
<body>
    <p id = "my"></P>
</body>
</html>
时间: 2024-12-14 18:47:15

js自定义类与对象的相关文章

js自定义类的小结

目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便. 因此,我个人认为一个完整的Javascript对象

09 js自定义类

js自定义类的理解 js自定义类,形式与功能上看起来就像java的类整体与类的构造方法的二合一. 在实例与类的关系上,又有点像java中子类与父类的关系,因为js的实例可以给自己添加自己的方法和属性. js自定义类的声明 声明方式也用关键字function,类名第一个字母大写,可以有参数(形如构造方法). function Person(name,age){ this.name = name; this.age = age; this.fav = "唱歌"; //自定义类方法 this

JS定义类及对象

JS定义类及对象 1.工厂方式 <script type="text/javascript"> function createObject(name){ var p = new Object(); p.name=name; p.say = function(){alert(p.name+'ff');} return p; } var p1 = createObject("p1"); var p2 = createObject("p2"

JS创建类和对象

JavaScript 创建类/对象的几种方式 非常好的一篇讲类和对象的文章,逐一测试,加深记忆:http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组

JS创建类和对象(好多方法哟!)

http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html 这是别人写的~~~我借来看看 JavaScript 创建类/对象的几种方式 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像

JS创建类和对象,看完了,头就不大了

JavaScript 创建类/对象的几种方式 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来 var

[Javascript] js的类和对象

类 graph LR 类-->构造函数 类-->prototype对象 类-->instanceof运算符 类-->constructor属性 类-->isPrototypeOf方法 类-->hasOwnProperty方法 类-->__proto__属性 类-->toString方法 类-->对象 对象 一切引用类型都是对象 console.log(typeof x); // undefined console.log(typeof 10); //

js自定义类,混合的构造函数/原型方式

“混合的构造函数/原型方式” 用构造函数来定义非函数属性,用原型方式定义对象的函数属性,结果所有函数都只创建一次,而每个对象都具有自由的对象属性实例. function ocar(color){  this.color = color;  this.arr = new Array("s"); } ocar.prototype.showColor = function(){  alert(this.color); } var car = new ocar("resd"

js定义类或对象

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js oop 总结</title> </head> <body> <script> /*1 原始方式 *缺点:需要创建多个car实例,推荐等级★ */ var ocar = new Object(); ocar.color