二. js——js中对象和原型对象的理解

这篇文章写得非常好:https://www.cnblogs.com/lz-km/p/16103817.html

  1. 对js中对象原型对象的个人理解:
  • 对象:我们可以理解成和其他语言一样。
  • 原型对象:我们可以理解成类上的属性,该类的所有对象都可使用,也可对数据覆盖。(像是java中类的静态数据static)
  1. 调用对象中的属性原型对象属性是按什么流程访问的?
    先查找对象中的属性 ——> 找不到的话,再查原型对象中的属性

  2. 举例:

//原型对象,最重要的作用就是把常量和方法独立到自身里.   供给其它  “自己的对象” 使用. 
//定义构造方法
function Animal(name,age) {
    this.name = name;
    this.age = age;
    }
    //原生对象中添加属性
Animal.prototype.color="蓝色";
  //原生对象中添加方法
Animal.prototype.eat=function () {
        console.log(this.name+"大口干饭!!!")
  }
var cat=new Animal("小花猫",3);
var cat1=new Animal("tom",5);
console.log(cat);
console.log(cat1);
console.log(cat.name+" "+cat.age+" "+cat.color);
console.log(cat1.name+" "+cat1.age+" "+cat1.color);
cat.eat();
cat1.eat();

  /* 不过前提是,你的对象属性里面,没有定义color和eat()方法.不然会把原对象的覆盖掉
    在cat.color的时候,首先,我们检查cat对象本身,从图中我们知道,cat有 name和age属性 和prototype指针属性.
  并没有color,找不到以后,它会继续搜索原型对象里面,看能否找到color属性,如果有,就会调用原型对象的属性.*/

在执行cat.color的时候,首先,我们检查cat对象本身,从图中我们知道,cat有 name和age属性 和prototype指针属性.
并没有color,找不到以后,它会继续搜索原型对象里面,看能否找到color属性,如果有,就会调用原型对象的属性.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值