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

  • 相关阅读:
    PDE_DATA 定义
    每天写日记争创青年艺术家 2014-5-14
    [Servlet3.0新功能]注释替代配置文件
    Flex4+Spring3+Hibernate3+BlazeDS整合笔记
    Flex博客
    hibernate缓存机制详细分析
    计算机的艺术-算法
    算法/数据结构/数学
    线性表 及Java实现 顺序表、链表、栈、队列
    java 图的邻接矩阵
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3002944.html
Copyright © 2011-2022 走看看