javascript - 如何在函数内部返回函数?(如 p5.js createVector)
问题描述
function createVector(_x, _y, _z) {
if (_x == undefined) {
_x = 0;
}
if (_y == undefined) {
_y = 0;
}
if (_z == undefined) {
_z = 0;
}
function add(_addX, _addY, _addZ) {
numX += _addX;
numY += _addY;
numZ += _addZ;
}
let numX = _x;
let numY = _y;
let numZ = _z;
return {
x: numX,
y: numY,
z: numZ,
add()
};
}
到目前为止,我收到一个错误,上面写着 Unexpected token '}' 我真的在尝试重新创建 p5.js createvector() 方法,因为我正在创建自己的库供个人使用。任何帮助将不胜感激 - 杰克
解决方案
传递函数和调用函数是有区别的。这应该给你你想要的:
return {
x: numX,
y: numY,
z: numZ,
add
};
或更明确地说:
return {
x: numX,
y: numY,
z: numZ,
add: add
};
要调用此方法,您可能会执行以下操作:
const myVector = createVector(5,7,9);
const resultOfAddition = myVector.add(1,2,3);
如果您不需要中间值,您甚至可以取消引用:
const myVectorAddition = createVector(5,7,9).add(1,2,3);
推荐阅读
- python - 得到了一个意外的关键字参数“超时”(Python 中的 google-cloud-storage)
- jenkins - Jenkins从管道脚本中的上游访问参数
- tensorflow - Keras 中的自定义损失函数,用于惩罚中间层的输出
- oracle - 我的长时间 SQL*Plus 循环在执行期间不打印 DBMS_OUTPUT.PUT_LINE 输出
- php - 未捕获的 TypeError:类型化属性 xyz::$result 必须是 mysqli_result 的实例或 null,使用 bool
- python - 如何从 JSON 输出中获取单个值和键?
- google-apps-script - 在表格的单元格背景中运行公式
- c# - C# 如何将我所有的 on off bools 放在一个矩阵中,如何同时控制几个?
- java - LWJGL 中的多线程块渲染
- pine-script - TradingView 的 Pine 脚本中的自引用变量