首页 > 网站 > WEB开发 > 正文

自己理解的javascript 的对象和类理解

2024-04-27 14:13:44
字体:
来源:转载
供稿:网友

自己理解的javascript 的对象和类理解

Posted on 2015-01-19 17:32 绝交 阅读(...) 评论(...) 编辑 收藏

首先需要先理解类和对象的意义,我个人理解如下:

类:对象的抽象化;

对象:类的实体;

Javascript中没有class关键字和类的用法,只能用伪类来做类的,所以要用function来定义累的名字;

如:

function myClass(){

this.name="张三";

}

这样myClass方法才能用原型连接 PRototype;这样才能扩展此类;

也可以用 new myClass();这个类

javascript中有对象,简单的写法就是

var obj={name:"张三"}

因为obj本身就是一个对象,不能实例化(即不能用new关键字);

我自己从网上找了几个相关例子,自己也写了写,在此粘出代码希望可以更好的理解

var Person=(function(){    function Person(){        this.name='person';        this.age=18;        this.init=function(name,age){            this.name = name;            this.age = age;        }    }    Person.prototype={            k:function(){                alert(this.name)            },            s:function(){                alert(this.age)            }    }    return Person;})();var Dog = (function(){    function Dog(){        this.name='dog';        this.age=11;    }    return Dog;})();var p = new Person();//p.k();p.init('张三',70)//p.k();delete p.name;Dog.prototype = Person.prototype;Dog.prototype.init=function(name,age){    this.name = name;    this.age=age;}var d = new Dog();//d.k();Object.extend=function(destination,source){    for(property in source){        destination[property]=source[property];    }    return destination;}Object.prototype.extend = function(object){    return Object.extend.apply(this,[this,object])}function Rect(){    }//Rect.prototype=(new Person).extend({//    add:function(){//        alert('add');//    },//    show:function(){//        alert('show')//    }//});//var r = new Rect();//r.show();//r.k();function JC(){    }var j = new JC();j.extend({    a: function(){        alert('a');    },    d:function(){        alert('d');    }});j.a();


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表