zoukankan      html  css  js  c++  java
  • javascript之__proto__&constructor

    javascript之__proto__&constructor

      constructor:对象构造器。

      prototype:访问对象构造器的原型,只有函数才具有这个属性

      isPrototypeOf:如果对象 A 存在于 对象obj的原形链中,则 A.isPrototypeOf(obj)返回true,而obj必定继承了A 的属性。

      __proto__:访问对象的原型链在当前对象的上一级对象,即对象的父级对象,非W3C 或 ECMAscript 标准,是浏览器对原型继承的一种实现手段,存在于firefox 和 chrome ,IE下不存在这个属性。

      在对象的继承关系中,对象obj的构造器 constructor 其实是存在于原型链中的,

      即 obj.constructor 实际上是 obj.__proto__.constructor,  obj.hasOwnProperty('constructor');  为 false

    例1:

    function Y() {this.y=99;}

    var obj = new Y(); 

    console.log(obj.constructor); //Y

    console.log(obj.hasOwnProperty('constructor')); //false

    console.log(obj.__proto__.hasOwnProperty('constructor')); //true

     例2:

    //=====

    function X(){this.x=88; }

    function Y() {this.y=99;}

    Y.prototype = new X();

    var obj = new Y(); 

    console.log(obj.constructor); //X

    console.log(obj.hasOwnProperty('constructor'));//false

    console.log(obj.__proto__.hasOwnProperty('constructor')); //false

    console.log(obj.__proto__.__proto__.hasOwnProperty('constructor')); //true

  • 相关阅读:
    黄聪:DEDECMS织梦 真正的随机文章的调用方法
    黄聪:Apache 301重定向中RewriteCond规则参数介绍(转)
    [阅读笔记]fsnotify源码阅读
    [阅读笔记]Go语言并发之美
    NUMA的取舍
    Web服务器那些招
    PHP执行批量mysql语句
    gotour练习解答
    mysql多个TimeStamp设置
    mysql那些招
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3002944.html
Copyright © 2011-2022 走看看