DAY3

作者: 小可_34e0 | 来源:发表于2019-10-26 16:12 被阅读0次

构造函数中的属性和方法称为成员,成员可以添加
1、实例成员:
①是构造函数内部通过this添加 的成员
②实例成员只能通过实例化的对象来访问
2、静态成员
①在构造函数本身上添加的对象
②静态成员只能通过构造函数来访问


图片发布于简书app

构造函数

<script >
        function Star(uname,age){
            this.uname=uname;
            this.age=age;
        }
        Star.prototype.sing=function(){
            console.log('我会唱歌');

        }
        var ldh=new Star('刘德华',18);
        var zxy=new Star('张学友',19);
        ldh.sing();
        zxy.sing();
        //一般情况下,我们的公共属性定义到构造函数里面,公共的方法我们放到原型对象身上
    </script>

对象原型proto

图片发布于简书app 图片发布于简书app
<script >
        function Star(uname,age){
            this.uname=uname;
            this.age=age;
        }
        Star.prototype.sing=function(){
            console.log('我会唱歌');

        }
        var ldh=new Star('刘德华',18);
        var zxy=new Star('张学友',19);
        ldh.sing();
        zxy.sing();
        //一般情况下,我们的公共属性定义到构造函数里面,公共的方法我们放到原型对象身上
        console.log(ldh);//对象身上系统自己添加一个__proto__指向我们构造函数的 原型对象
        //console.log(ldh.__proto__===Star.prototype)
    </script>

constructor构造函数(指回构造函数本身)

    <script >
        function Star(uname,age){
            this.uname=uname;
            this.age=age;
        }
        //h很多情况下,我们需要手动的利用constructor这个属性指回原来的构造函数
        // Star.prototype.sing=function(){
        //  console.log('我会唱歌');

        // }
        Star.prototype={
            //如果我们修改了原来的原型对象,给原型对象赋值的是一个对象,则必须手动的利用constructor指回原来的构造函数
            constructor:Star,
            sing:function(){
                console.log('我会唱歌');
            },
            movie:function(){
                console.log('我会表演');
            }
        }

        var ldh=new Star('刘德华',18);
        var zxy=new Star('张学友',19);
        console.log(Star.prototype);
        console.log(ldh.__proto__);
        console.log(Star.prototype.constructor);
        console.log(ldh.__proto__.constructor);
    </script>

构造函数、实例、原型对象三者之间的关系

图片发布于简书app
原型链:
(1)Star原型对象里面的proto原型指向的是Object.prototype
(2)Object.prototype原型对象里面的 proto原型指向null
图片发布于简书app

网友评论

      本文标题:DAY3

      本文链接:https://www.haomeiwen.com/subject/nelyvctx.html