jackieli123723 / jackieli123723.github.io

✅lilidong 个人博客
9 stars 0 forks source link

构造函数自身属性方法和内部方法与原型链方法区别 #76

Open jackieli123723 opened 5 years ago

jackieli123723 commented 5 years ago

构造函数自身属性方法和内部方法与原型链方法区别

   //原型链方法
   function Color(name){
      this.name = name
   }

   Color.prototype.getName = function(){
      return this.name + 'prototype'
   }

   var cor = new Color('red')
   var cor2 = new Color('red')
   console.log(cor.getName()) //redpyototype

   console.log(cor.getName==cor2.getName);   //true,原型方法地址是相同的,地址具共性,可共享的

   //构造函数自身属性方法
   function Color(name){
      this.name = name
   }

   Color.getName = function(){
      return 'red'
   }

   console.log(Color.getName()) //red

    //注意这里不需要new 参考 因为构造函数也属于对象 

    function deepmerge(target, source, options) {

    }

    deepmerge.all = function deepmergeAll(array, options) {

    }

    module.exports = deepmerge

    merge.all([x, y, z]) 
    merge(x, y) // => expected

   //构造函数内部方法
   function Color(name){
    this.name = name
    this.getName = function(){
      return this.name + 'inner self'
    }
   }
   var cor = new Color('red')
   var cor2 = new Color('red')
   console.log(cor.getName()) //redinner self
   console.log(cor.getName==cor2.getName); //false  实例函数法即实例方法地址是不同的,地址个性的,唯一性,不可共享的