• 原型链:对象沿着__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>
    
  • 相关阅读:
    shell脚本积累
    while,shift,until,case
    条件测试命令,if命令,双圆括号,双中括号
    seq命令,tr命令,sort命令,cut命令
    正则,grep命令详解
    Ansible实现批量管理服务器
    实时同步服务知识梳理
    RHEL7破解密码操作步骤
    运维核心基础知识之——MD5sum校验文件
    Linux运维基础提高之RAID卡和磁盘分区
  • 原文地址:https://www.cnblogs.com/xjt31/p/14001920.html
Copyright © 2020-2023  润新知