26-javascript面向对象基础-01

来源:互联网 发布:java短信开发网关 编辑:程序博客网 时间:2024/06/08 03:59

面向对象:不了解原理的情况下,会使用里面的功能。是一种通用思想。
对象:不了解内部的结构,知道表面的各种操作(按钮)。
电视知道按钮即可,不用知道里面的电路。
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;占用大量的系统资源。

0 0