您的位置:首页 > Web前端 > JavaScript

26-javascript面向对象基础-01

2016-06-17 14:06 447 查看
面向对象:不了解原理的情况下,会使用里面的功能。是一种通用思想。

对象:不了解内部的结构,知道表面的各种操作(按钮)。

电视知道按钮即可,不用知道里面的电路。

Date对象的getFullYear ;Array对象的sort()。

JS中的面向对象:

OOP特性:1)抽象:抽出核心问题相关的主要特征。员工管理系统的员工 姓名、工号、工资,不用关心体重、家庭等。2)封装:内部细节封装。看不到里面的东西,用好表面的功能就好。3)继承/遗传:代码重用。继承父类的方法、属性,子类又有自己的特征。 3.1多重继承:盒子+汽车=集装箱货车。 3.2多态

有两种人:1)用对象的人: Date ;2)写对象的人

对象的组成:1)方法-属于一个对象。 区别函数 2)属性-属于一个对象的 。区别变量:变量自由,不属于任何。

this:当前的方法属于谁,this就是谁。

this常见错法:出现window—全局函数属于window。

不能再系统对象中随意添加方法、属性,否则会覆盖已有方法、属性。

object对象:功能是没有功能,几乎是空白对象。

//第一个面向对象的程序
var obj=new Object();

obj.name='blue';
obj.qq='258248832';
obj.showName=function ()
{
alert('我的名字叫:'+this.name);
};
obj.showQQ=function ()  {
alert('我的QQ号:'+this.qq);
};
obj.showName();
obj.showQQ();//只需关心这个用法,但只能被一个对象使用。


//用函数编写对象--工厂方式:
function createPerson(name, qq){    //构造函数----构建一个对象。与普通函数没有区别。警察-老师-人
//原料
var obj=new Object();

//加工
obj.name=name;
obj.qq=qq;
obj.showName=function (){
alert('我的名字叫:'+this.name);
};
obj.showQQ=function ()  {
alert('我的QQ号:'+this.qq);
};

//出厂
return obj;
}
var obj=createPerson('blue', '258248832');
obj.showName();
obj.showQQ();
var obj2=createPerson('张三', '45648979879');
obj2.showName();
obj2.showQQ();


工厂模式:工作中不能用。1)没有new 2)函数重复,资源浪费:obj1与obj2都有showName:obj1.showName == obj2.showName ->false;占用大量的系统资源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象