zoukankan      html  css  js  c++  java
  • javascript中函数构造器和原型研究

        var ParentObj = function(){
            this.say = function(){
                console.log('parent');
            }
        };

        var ChildObj = function(){
            this.say = function(){
                console.log('child');
            };
        };

        //ChildObj.prototype 不等于 ChildObj or Object
        //ChildObj.prototype.constructor === ChildObj   这个是对的
        //console.log(ChildObj.prototype == new Object);

        //执行delete ChildObj.prototype.constructor ;之后,ChildObj.prototype.constructor == Object为真,在类创建以后,prototype指向的是Object的一个实例,但是constructor赋值为当前对象,当使用delete删除以后,就会使constructor指向Object
        //因此函数和构造器的区别在于prototype属相是否指向一个有意义的值,其他的没有本质区别
        //console.log(ChildObj.prototype.constructor == Object);
        //ChildObj.prototype = new ParentObj();
        var p = new ParentObj();
        var c = new ChildObj();
        //在初始的状态下,p.constructor == ParentObj 为true对象实例的constructor指向构造器
        //在ChildObj.prototype = new ParentObj();的情况下p.constructor == c.constructor为true
        console.log(p.constructor == c.constructor );

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    转盘抽奖活动代码
    信息滚动条
    gulp应用学习
    js实现语音播报功能
    如何安装使用sass
    纯CSS写三角形-border法
    css兼容性写法
    字体中英文对照
    浏览器内核判断
    个人课程总结
  • 原文地址:https://www.cnblogs.com/xiaodoudou/p/4777220.html
Copyright © 2011-2022 走看看