javascript - 第一个对象如何使用第二个对象的方法?
问题描述
使用 Object.setPrototypeOf(),player2 可以使用 player1 方法,但是在这个例子中 player1 怎么可以使用 player2 方法呢?
let player1 = {
kick() {
return 'kicking..';
}
};
let player2 = {
smash() {
return 'smashing..';
}
};
Object.setPrototypeOf(player2, player1);
console.log(player2.kick());
解决方案
您可以使用以下命令将一个对象的属性复制到另一个对象中,而不是更改原型Object.assign()
:
const player1 = {
kick() {
return 'kicking..';
}
};
const player2 = {
smash() {
return 'smashing..';
}
};
Object.assign(player2, player1);
Object.assign(player1, player2);
console.log(player2.kick());
console.log(player1.smash());
推荐阅读
- javascript - Webpack 可以处理 Django 静态文件(图像)吗?
- c++ - 在精神 qi 中将 qi::lexeme 添加到规则时编译失败
- javascript - 如何创建将线条均匀填充到最后的元素,例如下面的 img?
- c++ - 如何修复我的虚幻项目中的“符号查找错误”?
- jenkins - 是否可以在 Jenkins 流水线中并行运行多个阶段及其各自的步骤?
- c# - IMU 传感器 LPMS-B2:无法通过蓝牙连接到 Unity 应用程序?
- javascript - 使用 JS 在循环中运行函数
- javascript - Is it okay to include PKs in json response during an ajax call?
- package - (K)ubuntu 19.04 上缺少 qt 模块脚本
- python - Pandas read_sql 不一致的行为依赖于驱动程序?