zoukankan      html  css  js  c++  java
  • JS原型链

    原型链图解

     
     
     
     
     

    1. 原型链(图解)

      * 访问一个对象的属性时,

        *先在自身属性中查找,找到返回

        *如果没有, 再沿着__proto__这条链向上查找, 找到返回

        *如果最终没找到, 返回undefined

      * 别名: 隐式原型链

      * 作用: 查找对象的属性(方法)

    2. 构造函数/原型/实体对象的关系(图解)

    3. 构造函数/原型/实体对象的关系2(图解)

    -->

     

     

     

      1. 函数的显示原型指向的对象默认是空Object实例对象(但Object不满足)

       */(自行练习)

     console.log(Fn.prototype instanceof Object) //

     console.log(Object.prototype instanceof Object) //

     console.log(Function.prototype instanceof Object) //

      /*

      2. 所有函数都是Function的实例(包含Function)

      */

     console.log(Function.__proto__===Function.prototype)

      /*

      3.Object的原型对象是原型链尽头

       */

     console.log(Object.prototype.__proto__) // null

     

     

    5:原型链的作用:查找对象的属性或者方法

    1. 读取对象的属性值时: 会自动到原型链中查找

    2. 设置对象的属性值时: 不会查找原型链, 如果当前对象中没有此属性, 直接添加此属性并设置其值

    3. 方法一般定义在原型中, 属性一般通过构造函数定义在对象本身上

      function Person(name,age) {

          this.name = name;

          this.age = age

        }

        var p1=new Person("TOM",18)//属性在原型还是在对象里面;

        console.log(p1)

    //下图所是:Person函数的显示原型是一个Object对象(默认为空)

     

       function Person(name,age) {

          this.name = name;

          this.age = age

        }

        var p1=new Person("TOM",18)//

        console.log(p1)//对象有隐式原型属性

        console.log(Person)显示原型属性

     

     
  • 相关阅读:
    Thymeleaf模板引擎绕过浏览器缓存加载静态资源js,css文件
    LCMapString/LCMapStringEx实现简体字、繁体字的转换。
    java8 LocalDateTime转unix时间戳(带毫秒,不带毫秒)
    关于全角半角
    c++builder 读写文件类
    Unresolved external 'AlphaBlend' referenced from
    GridhEH 选择勾CheckBox
    Variant
    TRegEx 正则表达式
    c++ 字符检测 TCharacter
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/9062939.html
Copyright © 2011-2022 走看看