1

javascript之面向对象

  1. 对象分两种,一种是单一对象,另一种是构造函数。

单一对象:
    var songze = {
        name:"宋泽",
        age:25,
        run:function(){
            console.log("我会跑")
           }
    }
    var dapang = {
        name:"大胖",
        age:17,
        run:function(){
            console.log("我会跑")
        }
    }
    var saopang = {
        name:"骚胖",
        age:30,
        run:function(){
            console.log("我会跑")
        }
    }
    console.log(songze.name);//打印宋泽。
    console.log(saopang.name);//打印骚胖。
    console.log(dapang.age);//打印17。
            
构造函数:
    function Pang(name,age){
        this.name=name;
        this.age=age;
    }
    Pang.prototype.run=function(){
        console.log("我会跑");
    }
    var songze = new Pang("宋泽",25);
    var dapang = new Pang("大胖",17);
    var saopang = new Pang("骚胖",30);
            
    console.log(songze.name);//打印宋泽。
    console.log(saopang.name);//打印骚胖。
    console.log(dapang.age);//打印17。
            
    注释:如果对象少了的话就可以用单一对象,反之,对象多了就用构造函数,当然,两种方法都是可以用的。
  1. 继承:

对象和类:
1.类是由对象泛化(抽象)出来的;
2.对象是由类创建出来的;
3.对象叫类的具体实例。

    function Person(name,age,sex){
        this.name=name;
        this.age=age;
        this.sex=sex;
    }
    Person.prototype.run=function(){
        console.log("我会跑");
    }
    var songze = new Person("宋泽",21,"男");
    //超人完成了继承人类是的属性和方法
    function Superman(name,age,sex){
        Person.apply(this,arguments);//继承了父类的属性;
    }
    Superman.prototype=Object.create(Person.prototype);//继承了父类的方法;
    //自己的方法
    Superman.prototype.fly=function(){
        console.log("我会飞");
    }
    var chaoren = new Superman("超人",30,"男");
    console.log(chaoren.fly());//打印我会飞。

songze
211 声望13 粉丝

该来的总会来,该走的不挽留!