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

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

类:对象的抽象化;

对象:类的实体;

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();
上一篇:html2canvas 将网页截图为图片,上传base64 到服务端


下一篇:MUI 单图片压缩上传(拍照+系统相册): 选择立即上传