面向对象
定义:无序属性的集合,其属性可以包含基本值、对象、函数。
特定:封装、继承、多态。
面向对象组成
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<this.length;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();
网友评论