JavaScript原型

1.定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先,通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。

2.利用原型特点和概念,可以提取公有属性。

3.对象如何查看原型 ————> 隐式属性 proto

4.对象如何查看对象的构造函数 ————> constructor

Person.prototype – 原型
Person.prototype={} 是祖先

    Person.prototype.name = 'hehe';
    Person.prototype.say = function() {
        console.log('hehe');
    }

    function Person(name, age, sex) {
        //this.name = 'xuming';
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
    var person = new Person('xuming', 35, 'male');
    var person1 = new Person();
    Car.prototype.height = 1400;
    Car.prototype.lang = 4900;
    Car.prototype.carName = 'BMW';

    function Car(color, owner) {
        this.owner = owner;
        this.color = color;
    }
    var car = new Car('red', 'prof.ji');
    Person.prototype.name = 'sunny';
    function Person() {
    }
    var person = new Person();
    Person.prototype.name = 'cherry';//结果是cherry
    Person.prototype.name = 'sunny';
    function Person() {
        //var this={__proto__:Person.prototype}
    }
    var person = new Person();
    Person.prototype = {
            name: 'cherry',
        } //结果是sunny

程序先执行预编译,将Person函数提前,然后再执行Person.prototype.name = ‘sunny’;再执行 Person.prototype = {name: ‘cherry’,}后面执行的name将前面执行的覆盖 最后执行var person = new Person();生成对象

    Person.prototype.name = 'sunny';
    function Person() {
    }
    Person.prototype = {
            name: 'cherry',
        } //结果是cherry
    var person = new Person();

你可能感兴趣的:(javascript)