关于constructor与 Prototype的理解

constructor:每一个函数的Prototype属性指向的对象都包含唯一一个不可枚举属性constructor,该属性的值是这么一个对象:constructor指向了它所在的构造函数
Prototype:每一个函数都包含一个prototype属性,这个属性指向的是一个对象的引用;而对已每一个函数(类)的实例都会从prototype属性指向的对象上继承属性,换句话说通过同一个函数创建的所有对象都继承一个相同的对象。

function Person(name) { this.name = name; }; Person.prototype.getName = function() { return this.name; }; var p = new Person("ZhangSan");    console.log(Person.prototype)   

// 构造函数
        function Person(name) {
            this.name = name;
        }
        // 定义Person的原型,原型中的属性可以被自定义对象引用
        Person.prototype = {
            getName: function() {
                return this.name;
            }
        }
       // Person.prototype.constructor=Person指定了constructor,实例化的类就会指向person,不指向就会指向object.所以constructor可以用来执行不同的构造函数
        var zhang = new Person("ZhangSan");
        console.log(Person.prototype)

posted @ 2015-12-24 13:58  小董儿博客  阅读(523)  评论(0编辑  收藏  举报