26-javascript面向对象基础-01

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值