我看到这个问题在这里已经出现了几次,但我的情况有点不同。我是JavaScript的新手,这是一个显示问题的基本程序。
a, b, c = someFunc(a, b, c)
我在调用someFunc时遇到错误。错误是"发生异常:引用错误:x未定义"。
所以我正在做的是调用一个函数来在每次循环时更新一些数组。我需要能够从名为' someFunc'的函数中取出这些数组。这样我就可以将它们传递给另一个函数来对它们做一些其他的工作。
然后我需要再次将它们反馈到第一个函数中...依此类推,直到我完成。
我来自Python,其中的电话如
<timer ng-if="timeBonPlan" countdown='timeBonPlan' interval="1000" >{{days}} Jours, {{hours}}:{{minutes}}:{{seconds}}</timer>
很好。
但我不知道如何继续使用JavaScript。任何帮助将非常感激。很高兴澄清我的问题是否不完全清楚。
答案 0 :(得分:0)
将函数的值设置为标识符,然后使用解构赋值来全局设置属性并获取属性。
let props = someFunc(x, y, z);
({done, x, y, z} = props);
console.log(x, y, z);
答案 1 :(得分:0)
如果传递数据对象,则可以在不需要返回代码的情况下更改对象的值。
var iterations = 0;
function someFunc(obj) {
for (var i = 0; i < 4; i++) {
obj.x[i] = obj.x[i] * 2;
obj.y[i] = obj.y[i] * 2;
obj.z[i] = obj.z[i] * 2;
}
iterations++;
if (iterations >= 10)
obj.done = true;
else
obj.done = false;
}
function main() {
var objectOfData = {
x: [0, 0, 0, 0],
y: [1, 1, 1, 1],
z: [2, 2, 2, 2],
done: false,
};
while (!objectOfData.done) {
someFunc(objectOfData);
console.log(JSON.stringify(objectOfData));
// Using stringify, as console.log() is async
// Do some other stuff with x,y,z here,
// like calling anotherFunc(x, y, z)
}
}
此外,您只需要声明一次var, let, etc