javascript - 如何在jquery中创建交换函数

标签 javascript jquery

我基本上想使用 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 个参数 xy 并对其进行一些数学运算以交换值。在这里,您假设变量始终是数字或变量类型,其中加法和减法有意义。除非您可以确保变量始终是数字,否则这是错误的方法。

同样,您的返回语句是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/

相关文章:

jquery - Codeigniter 中的多部分表单

javascript - 使用动态 id 在动态 'div' 中附加动态 'div' s

javascript - 使用 jQuery,如何将 arg 传递给函数,然后显示来自预定义变量的消息

javascript - Flot 库将 y 轴设置为最小 0 和最大 24

javascript - 如何在 JavaScript 中使用 $.getJSON 检索 python 文件数据?

jquery - 如何在使用子元素滚动条时禁用可拖动的div

javascript - 导航过渡

javascript - 网站主页上的图片在手机上消失了

javascript - 如何在注入(inject)代码中使用 GM_xmlhttpRequest?

javascript - 表单 - 同步请求并在提交时显示 div