js中面向对象

 

目录

对象

  1. 定义:属性加上方法。

var animal={

    name:"animal",

    sex:function(){

    console.log("2");

    }

}

animal.sex();

animal.age="11";//给对象增加属性

 

 

 

  1. 2.对象中继承问题 关键字__proto__

var cat = {

    name:"小猫猫",

    __proto__:animal//继承animal对象

}

var dog ={

    dog:"小狗狗",

    __proto__:animal  //继承

}

 

 

 

  1. 3构造函数(为了像java靠拢)

function Student(name){

    this.name = name;

    this.sayHello = function(){

    console.log("我是"+this.name);

}

}

zhangsan = new Student("张三");

zhangsan.sayhello();//输出:我是张三

 

 

 

1.4由于每个新建的对象都会有一个sayHello这个方法,所以会造成资源浪费,衍生出一下写法

function Student(name){

    this.name = name,

}

student.prototype={

    sayHello = function(){

        console.log("我是"+this.name);

}

var zhangsan = new Student("张三");

var lisi = new Student("李四"); //李四未调用sayHello方法

zhangsan.sayHello();//张三调用了sayHello方法

 

 

  1. 5由于以上写法中__proto__和prototype容易让人混淆,所以出了语法糖,其结构如下

class Student{

    constructor(name) = {

        this.name = name;

}

sayHello = function(){

        console.log("我是"+this.name);

}

}

var zhangsan  = new Student(name);

zhangsan.sayhello;

 

 

 

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值