javascript之原型链

我对原型链的理解:现在有一个构造函数Person,它有一个原型对象prototype的最终父类是Object,Object也有个原型对象prototype

实例通过new 构造函数创建

当通过实例调用属性或者方法时,如果实例里面没有,就去它的构造函数里面找,如果构造函数没有,就去构造函数的原型对象prototype里面找,如果prototype里面没有,

就去Object里面找,如果Object里面没有,就去它的prototype里面找,如果这个也没有,那就没有了

这样的一条链就是原型链

 

 1    <script type="text/javascript">
 2      //每个定义的构造器在内存中是唯一的存在
 3      function Person(name) {
 4        this.name = name
 5      }
 6      Person.prototype =  {
 7         name: 'zhaobao',
 8         work: function () {
 9          console.log(this.name + "在工作")
10        }
11      }
12      var person1 = new Person()
13 
14    </script>

 

1.什么是原型

Javascript中(es6以下)没有类(class)的概念

Javascript中有构造器的概念,js中构造器就是类

构造器的作用是用来构造对应类型的实例

原型是对应唯一一个构造器的唯一一块内存空间,通过一个构造器创建出来的所有实例,有限访问当前内存中的内容,如果当前内存中没有,就会去原型中找

2.什么是原型链

通过prototype对象建立的一个链形关系

posted @ 2017-07-11 01:06  zhaobao1830  阅读(151)  评论(0编辑  收藏  举报