Js 原型对象——prototype

在介绍prototype原型对象之前,先了解一下静态成员和实例成员是什么:

  • 静态成员和实例成员

    • 使用构造函数方法创建对象时,可以给构造函数和创建的实例对象添加属性和方法,这些属性和方法都叫做成员。
  function Student(name,id){this.name = name;this.id = id;this.message = function(){
​              console.log(this.name + "," + this.id);};
}
  //生成对象实例
  var student5 = new Student("ls",789);
  //调用方法
  student5.message();
  • 实例成员:在构造函数内部添加给 this 的成员,属于实例对象的成员,在创建实例对象后必须由实例对象调用,构造函数是不能调用的。
    console.log(student5.id);
    console.log(Student.id);
  • 静态成员:是直接添加给构造函数自身的成员,只能使用构造函数调用,不能使用生成的实例对象调用。
  Student.version = "1.0";
  console.log(student5.version);
  console.log(Student.version);
prototype 原型对象
    function Student(name,id){this.name = name;this.id = id;
      }
      //获取对象的prototype
        Student.prototype.type = "student";
        Student.prototype.message = function(){
      ​           console.log(this.name + "," + this.id);
         };
  • prototype属性值是一个对象,通常叫做原型对象

  • 对象内部可以添加一些属性和方法

  • 构造函数的原型对象上都默认有一个constructor属性,指向prototype对象所在函数

  • 所有的对象都有一个__proto__ 的属性,是一个指针,指向的是生成实例对象的构造函数的原型对象。_proto_属性并不是一个标准属性,是浏览器自己根据语法自己生成的(实际开发中,不会写__proto__的,实例直接访问对象成员)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值