代码之家  ›  专栏  ›  技术社区  ›  Riaz

输入错误:Person。问候不是一种功能

  •  0
  • Riaz  · 技术社区  · 2 年前

    function Person(name, age, greet) { 
      this.name = 'Josh';
      this.age = 15;
      this.greet = function(greeting) {
       console.log('Hello I am ', this.name)
      }
    }
    
    Person.greet();

    我试着让控制台显示“你好,我是乔希”,我得到了同样的错误,说人。问候不是一种功能

    2 回复  |  直到 2 年前
        1
  •  0
  •   Kanishk Anand    2 年前

    这似乎是一个构造函数,而不是一个对象,因此,您需要调用 new 在调用方法之前创建构造函数的实例。

    // on a side note, if you're not going to use the arguments, better remove them altogether
    function Person(name, age, greet) { 
      this.name = 'Josh';
      this.age = 15;
      this.greet = function(greeting) {
       console.log('Hello I am ', this.name)
      }
    }
    
    const person = new Person();
    person.greet();
        2
  •  0
  •   Riaz    2 年前

    function Person(name, age, greet) { 
      this.name = name;
      this.age = age;
      this.greet = function(greeting) {
       console.log('Hello I am', this.name)
      }
    }
    
    const max = new Person();
    max.name = 'max';
    max.age = 18;
    max.greet(); // Hello I am max

    我意识到我使用的是工厂函数,我要用新关键字创建一个对象