我基本上想使用 jquery 或 javascript 中的函数交换 2 个变量的内容。我对任何方法都没有偏见。(使用或不使用临时变量都没有什么区别) 我在 JavaScript 中尝试过这个
function swap(x,y){
x = x + y;
y = x - y;
x = x - y;
return x,y
}
var two = 1;
var one= 2;
swap (one,two);
document.write(one);
最佳答案
您的代码中有一些错误。您似乎不熟悉数据结构和变量/函数在 Javascript 中的工作原理。我强烈建议您首先了解它们。
您的 swap
函数采用 2 个参数 x
和 y
并对其进行一些数学运算以交换值。在这里,您假设变量始终是数字或变量类型,其中加法和减法有意义。除非您可以确保变量始终是数字,否则这是错误的方法。
同样,您的返回语句是return x, y
。一个函数不能返回 2 个变量。函数的输出是单个值。在这种情况下,由于您需要返回 2 个变量,因此您应该使用像数组/对象这样的复合结构。
从此函数返回的值需要存储在适当的变量中,以便您可以使用它们。代码中的第 10 行调用该方法,但不在任何地方存储其返回值。
您的用例的通用解决方案如下
// Create two variables
let x = 1, y = 2;
function swap(x, y) {
// Return the 2 variables in swapped order
return [y, x]
};
// Call the swap function and assign the return values back to the variables
[x, y] = swap(x, y);
// Print to console to verify
console.log(x, y);
关于javascript - 如何在jquery中创建交换函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54874738/