zoukankan      html  css  js  c++  java
  • 搞清楚原型链

    前提须知(敲黑板). JavaScript内置对象

      内置对象指的是:JavaScript本身就自己有的对象,可以直接拿来就用。例如Array String 等等。JavaScript一共有12内置对象

        (1).其中10个函数类型( String,Number,Boolean,Array,Function,Date,RegExp,Error,Object,Event )函数类型 有 __proto__和 prototype 属性

          (2).其中2个对象类型(Math,JSON) 对象类型只有__proto__属性,(不可以new Math,会报错,这就是和上边10个的区别)

      

    1.特殊的Function.prototype、Function._ _proto_ _。

    问:js中所有类/构造函数的prototype和_ _proto_ _都是一个对象?

    答:错!Functionprototype和_ _proto_ _是函数数据类型,且 Function.prototype==Function._ _proto_ _ ,这是为了保证函数构造器们(String,Number,Boolean,Array,Function,Date,RegExp,Error,Object,Event)的_ _proto_ _指向的都是函数【始终不明白为什么】

    2.Object._ _proto_ _指向Function.prototype,这很好理解,Object指向所属类(Function)的原型嘛。

    3.Object.prototype._ _proto_ _是不存在的,Object.prototype是原型链的顶端。

    4.Object作为一个构造函数(是一个函数对象!!函数对象!!),所以他的__proto__指向Function.prototype;

    5.Object.prototype.hasOwnProperty()属性方法用来检验一个对象是否自己拥有一个属性而非通过进化链__proto__继承来的属性

     

  • 相关阅读:
    A. Vanya and Table
    B. Chris and Magic Square
    A. Bus to Udayland
    关于cout输出精度问题
    1087 1 10 100 1000
    1080 两个数的平方和
    CODE[VS] 1842 递归第一次
    CODE[VS] 1501 二叉树最大宽度和高度
    少年中国说
    CODE[VS] 1475 m进制转十进制
  • 原文地址:https://www.cnblogs.com/chenguangliang/p/6652213.html
Copyright © 2011-2022 走看看