javascript - 创建对象后向其添加附加函数

标签 javascript function methods object-literal

所以我想知道这是否是将函数添加到通过对象文字创建的对象的正确方法。

var person = {
  firstname: "default",
  lastname: "default",
  greet: function () {
    return "hi " + this.firstname;
  }
}

var me = Object.create(person);

me.myFunction = function() {
  return console.log("meow");
};

console.log(me.myFunction());

但是它在喵之后返回未定义,有什么理由这样做吗?

最佳答案

当你写的时候

return console.log("meow");

你返回的不是“meow”,而是console.log的返回值,该值是未定义的。修改代码如下:

me.myFunction = function() {
  return "meow";
};

console.log(me.myFunction());

关于javascript - 创建对象后向其添加附加函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37042948/

相关文章:

function - PowerShell 函数不接受对象数组

postgresql - liquibase 中的 Postgres 删除函数显示错误

java - 通过 android studio 使用子字符串时出现错误

Javascript 待办事项列表应用程序推送到数组/本地存储

javascript - Ember.js - 嵌套路由上的索引在退出时复制/不销毁

function - "func::String -> [Int]; func = read "有什么问题 [3,5,7 ]""

Java - 找不到符号构造函数

javascript - 多个 jquery 元素的转换脚本

javascript - Ember.js - 在嵌套路由更改时呈现不同的布局

javascript - 如何获取显示在谷歌搜索右侧的图像链接