面向对象:JavaScript

面向对象
定义:无序属性的集合,其属性可以包含基本值、对象、函数。
特定:封装、继承、多态。
面向对象组成
function aaa(){//函数
        alert("aba");
}
var arr={nane:"1",age:"12"};
arr.aaa=function(){//方法
        alert("ccc");
}
aaa();
arr.aaa();
this指向
1.当前发生事件的对象。
2.当前的方法属于谁。
var arr={nane:"1",age:"12"};
    arr.a=12;
arr.show=function(){
    alert(this.a);
}
//window对象  
body.onclick=function(){
    alert(this);
}
        
arr.show();
第一个面向对象
var obj=new Object();
obj.name="blue";
obj.age="12";
obj.showName=function(){
    alert('我的名字:'+this.name);
}
obj.showAge=function(){
    alert('我的年龄:'+this.age);
}
obj.showName();
obj.showAge();
第一个面向对象加强版
function createPerson(name,age){//构造函数
    //原料
    var obj=new Object();
    //加工
    obj.name=name;
    obj.age=age;
    obj.showName=function(){
        alert('我的名字:'+this.name);
    }
    obj.showAge=function(){
        alert('我的年龄:'+this.age);
    }
    //出厂
    return obj;
}
var obj=createPerson("xiao","12");
obj.showName();
obj.showAge();
第一个面向对象(this)
function createPerson(name,age){//构造函数
    this.name=name;
    this.age=age;
    this.showName=function(){
        alert('我的名字:'+this.name);
    }
    this.showAge=function(){
        alert('我的年龄:'+this.age);
    }
}
var obj=new createPerson("xiao","12");
obj.showName();
obj.showAge();
原型
定义:Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象。
原型形成

var arr=new Array(1,2,3,4,5);
Array.prototype.sum=function(){
var result=0;
for(var i=0;i result+=this[i];
}
return result;
}
alert(arr.sum());

原型完成版
function createPerson(name,age){
        this.name=name;
        this.age=age;
}
createPerson.prototype.showName=function(){
     alert('我的名字:'+this.name);
}
createPerson.prototype.showAge=function(){
     alert('我的年龄:'+this.age);
}
var obj=new createPerson("xiao","12");
obj.showName();
obj.showAge();

你可能感兴趣的:(面向对象:JavaScript)