js-原型与原型链浅析

一、什么叫做构造函数

  1. 一般规则

  2. 调用方法

  3. 举个例子

    1、一般规则
    构造函数都应该以 一个大写字母开头,eg: function Person(){…}
    而非构造函数则应该以一个小写字母开头,eg: function person(){…}

      2、调用方法
     
       任何函数,只要通过 new 操作符来调用,那它就可以作为构造函数 ;
     
       任何函数,如果不通过 new 操作符来调用,那它跟普通函数也没有什么两样。
    

    3、举个栗子~
      function Person(name,age){

    this.name=name;

    this.age=age;

    this.say=function(){

    console.log(‘早上好’+name)

    }
      }
      //当做构造函数
      var jone=new Person(‘mingming’,12);
      jone.say()
      //当做普通函数
      Person(‘mingming’,12);
      window.say()

二、为什么要用原型对象

原型对象

如同上述例子中创建了Person这个构造函数、没创建一个Person构造函数,为每一个对象就会添加一个say的方法。这样就导致了构造函数执行一次就会创建一个新的方法,执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的,为什么不把这个方法单独放到一个地方,并让所有的实例都可以访问到呢?这就需要原型(prototype)

三、简析原型链

在这里插入图片描述

四、插入一段练习的代码

实例的人——人的原型对象——Object的原型对象.

// An highlighted block
var foo = 'bar';
<script>
    function Person(name){
       this.name=name
    }
    Person.prototype.age=function age(myage){
        console.log('我是'+this.name+'我的年龄是'+myage)
    }
    var person1 = new Person('hello')
    person1.age('28')


    console.log(person1)
    console.log(Person.prototype===person1.__proto__)
    console.log(person1.__proto__.__proto__.__proto__)
</script>

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值