08 (h5*) js第9天

目录:

1:原型和原型链

    <script>
        // 1:使用对象---->使用对象中的属性和方法,就需要先有构造函数

        // 1.1:构造函数。
        function Person (name, age){
            this.name = name;
            this.age = age;
            this.sayHi = function () {  
                console.log("您好,您真帅");
            };
        }    
        
        // 1.2:实例化对象,并初始化
        var per = new Person("小明", 20);

        // 1.3: 如果想要使用一些属性和方法,并且属性的值在每个对象中都是一样的,方法在每个对象中的操作也是一样的,那么,为了共享数据,节约内存空间,是可以把属性和方法通过原型的方法进行赋值
        
        Person.prototype.sex = "";
        Person.prototype.sayHello = function (){
            console.log("您怎么可以这么帅呀");
        };

        console.dir(per);     // 实例对象
        console.dir(Person);  // 构造函数

        // 实例对象中的原型__proto__和构造函数中的原型prototype指向是一样的,指向的是原型对象
        // 实例对象的原型__proto__原型指向的是  构造函数中的原型prototype,原型对象

        // 原型对象中的构造器指向的是原型对象所在的构造函数
        // 实例对象和原型对象通过原型来联系的

        // 实例对象中的原型__proto__是游览器使用的,不是正规的
        // 构造函数中的prototype是原型,是程序员使用的

        // 原型链:是一种关系,实例对象和原型对象之间的关系,关系是通过原型(__proto__)来联系的
        console.log(per.__proto__ == Person.prototype);
    </script>

猜你喜欢

转载自www.cnblogs.com/zyzmlc/p/11588263.html