zoukankan      html  css  js  c++  java
  • 原型链:对象沿着__proto__查找

      <script>
        function x() {
    
        }
    
        //为函数x的prototype原型对象添加add方法
        x.prototype.add = function (a) {
          return a
        }
    
        var xxx = new x()
        console.log(xxx.add);//函数add   
        console.log(x.add);//undefined 
        //x的prototype拥有add,x的__proto__没有add;结果:x访问不到函数add
        //xxx的prototype没有add,xxx的__proto__指向 x的prototype:里面拥有add;结果:x可以访问到函数add
        //可以看出原型链的访问顺序是通过对象(实例对象或者函数对象)的__proto__属性往上查找的,和函数自身的prototype无关,
        //函数无法访问到定义在自己prototype中的方法(但可以访问prototype里面的__proto__)
    
        console.log(x.constructor);//Function函数 
        // x的__proto__指向的Function的prototype中的constructor(只会沿着__proto__去寻找constructor)
        console.log(x.prototype.constructor);//x函数
        // x的prototype中的constructor
    
    
        //函数无法访问到定义在自己prototype中的方法(但可以访问prototype里面的__proto__);
        //当对象(包括函数对象)自身寻找不到属性或者方法时就会沿着自己的__proto__一层一层去寻找
        //比如fn沿着__proto__在Function的prototype中找不到,就会继续在Function的prototype沿着__proto__
        //访问Object的prototype;然而Object的prototype再沿着__proto__寻找就是null
    
      </script>
    
  • 相关阅读:
    图形验证码---pillow
    vue富文本编辑器vue-quill-editor
    django邮件发送
    Django REST Framework JWT
    jwt验证
    使用django的用户表进行登录管理
    [转]CSRF漏洞详细说明
    Django框架10
    Django框架09
    Django框架08
  • 原文地址:https://www.cnblogs.com/xjt31/p/14001920.html
Copyright © 2011-2022 走看看