原型与原型链

2023-12-30 12:21:05

原型链:_proto_? => [[prototype]]? =>大家都有

原型:prototype? ?=>函数特有

   function fn(){

    }
    // 在函数原型上挂东西,利于继承
    fn.prototype.name = '小明'
    fn.prototype.fn2=function(){
      console.log('prayszll')
    }

原型的继承

function Person() {
      
    }
    Person.prototype.name = 'prayszll'
    Person.prototype.age=21
    Person.prototype.getAge = function(){
      console.log(this.age)
    }
    // 实例
    let person1 = new Person()
    console.log(person1.name)
    person1.getAge()

原型链查找规则:从当前实例属性去查找,如果找到了就返回,否则顺着原型链一层一层往上面找

    function Person() {
      
    }
    Person.prototype.name = 'prayszll'
    Person.prototype.age=21
    Person.prototype.getAge = function(){
      console.log(this.age)
    }
    // 实例
    let person1 = new Person()
    person1.name='zll'
    console.log(person1.name)
    person1.getAge()
    console.log(person1)

找自身私有属性

//接上面代码片段
    let item
    for(item in person1){
      if(person1.hasOwnProperty(item)){
        console.log(item)
      }
    }

文章来源:https://blog.csdn.net/qq_62939177/article/details/135239676
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。