Javascript 工厂函数无法正常工作

标签 javascript function

根据我正在观看的教程,这段代码应该返回“John Doe”。目前,它只返回“[object, Object]”,我做错了什么?

<p id="para"></p>

function createPerson(firstName, lastName) {
    return {
        firstName: firstName,
        lastName: lastName,
        getFullName: function() {
            return this.firstName + " " + this.lastName;
        }
    };
}

var person = createPerson("John", "Doe");


document.getElementById("para").innerHTML = person;

有什么想法吗?

最佳答案

缺少对象键功能。您只发布对象而未提及对象中的功能。因此请提及对象键的功能名称。

像这样

 1. person.getFullName();// for function call
 2. person.firstName 
 3. person.lastName

更多了解refer this article

function createPerson(firstName, lastName) {
  return {
    firstName: firstName,
    lastName: lastName,
    getFullName: function() {
      return this.firstName + " " + this.lastName;
    }
  };
}

var person = createPerson("John", "Doe");


document.getElementById("para").innerHTML = person.getFullName();
<p id="para"></p>

关于Javascript 工厂函数无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43085632/

相关文章:

javascript - 正则表达式仅检查数字(负数和正数)

javascript - 获取表单帖子之外的单选按钮值

javascript - 如何从封闭的 Javascript 函数访问变量?

Python kwargs 从其他参数中获取值

javascript - 如何使用 VueJS 从 Firebase 检索集合的子项

javascript - php 和 javascript 中的数组

javascript - 通过 x、y 坐标获取 DOM 元素的位置

mysql - 什么是 MySQL 函数?

linux - 在不相关的可执行文件 linux 中调用函数

javascript - 如何使用ordinal函数将输入框的值转为序数并显示