javascript在编程时经常会涉及到如何交换两个变量的值,例如常见的冒泡排序,快速排序等;下面我讲根据自己近期所学总结几种常见的交换两个变量值的方法:

方法一:借助第三方变量交换两个变量的值

var num1=20;

var num2=50;

var temp=num1;

num1=num2;

num2=temp;

console.log(num1);//在控制台输出交换后的num1=50

console.log(num2);//在控制台输出交换后的num2=20

方法二:借助加法计算,交换两个变量的值

var num1=20;

var num2=50;

num1=num1+num2;//此时num1=70;

num2=num1-num2;//此时的num2=20;

num1=num1-num2;//此时的num1=50;

console.log(num1);//在控制台输出交换后的num1=50;

console.log(num2);//在控制台输出交换后的num2=20;

方法三:借助位运算,交换两个变量的值

var num1=20;

var num2=50;

num1=num1^num2;

num2=num1^num2;

num1=num1^num2;

console.log(num1);//在控制台输出交换后的num=50;

console.log(num2);//在控制台输出交换后的num=20;

JavaScript中交换两个变量的值得三种做法(代码实现)的更多相关文章

  1. Python中的print、input函数以及Python中交换两个变量解析

    一.Python中的值交换操作 首先明确一点点,Python中的一切都是面向对象的,可以理解为Python的中一切都是对象. 我们知道Java也是面向对象的语言,但是在Java中定义一个值变量如下: ...

  2. PHP中交换两个变量的值

    首先,采用php的list数据结构.上代码,然后再解析 function swap(&$a, &$b) { list ( $a, $b ) = array ($b, $a ); } l ...

  3. python交换两个变量的值,一句代码搞定

    a = 10 b = 20 # 不需要中间变量,一步搞定 a, b = b, a

  4. js函数只执行一次,函数重写,变量控制与闭包三种做法

    一.情景需求 调用后台接口需要附带token信息,那么在每个请求的头部添加token的做法就不太优雅了:一个网站请求100次,那就得写添加100次token,假设某天接口有所变动,改起来就十分麻烦了. ...

  5. PHP中不用第三个变量交换两个变量的值

    相信大家在PHP面试或者学习中经常会遇到这个问题就是“不用第三个变量来交换两个变量的值”,今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个变量的值. 第二种方 ...

  6. python中如何调用函数交换两个变量的值

    python中如何调用函数交换两个变量的值 所有代码来在python3.7.1版本实现 以下实例通过用户输入两个变量,并相互交换:  方法一: def swap(a,b): # 创建临时变量,并交换 ...

  7. 面试题-JavaScript交换两个变量的方法

    在平时的业务开发或者面试过程中,经常会遇到交换两个变量这种问题,于是,个人总结以下几种交换变量的方法: 1.方案一 使用一个临时变量来交换  2.方案二 使用ES6解构赋值语法来交换 3.方案三利用数 ...

  8. JS基础语法---练习:交换两个变量的值

    * JavaScript简称为JS * JavaScript是什么?     * 是一门脚本语言:不需要编译,直接运行     * 是一门解释性的语言:遇到一样代码就解释一行代码     * C#语言 ...

  9. javascript中函数声明、变量声明以及变量赋值之间的关系与影响

    javascript中函数声明.变量声明以及变量赋值之间的关系与影响 函数声明.变量声明以及变量赋值之间有以下几点共识: 1.所有的全局变量都是window的属性 2.函数声明被提升到范围作用域的顶端 ...

随机推荐

  1. spring mvc为何多注入了个SimpleUrlHandlerMapping?

    最近在调试项目时,debug DispatcherServlet时,发现handlerMappings属性包含了RequestMappingHandlerMapping.SimpleUrlHandle ...

  2. socket的一个错误的解释SocketException以及其他几个常见异常

    写socket程序有可能会遇见这个问题  其他信息: 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受.  这种情况我的 错误原因 ...

  3. Codeforces 706 D. Vasiliy's Multiset (字典树贪心)

    题目链接:http://codeforces.com/contest/706/problem/D 题意很简单不多说. 把一个数当作二进制插入字典树中,按照xor的性质,1找0,0找1,贪心即可. 注意 ...

  4. UVaLive 6809 Spokes Wheel (模拟)

    题意:给定两个16进制数,问你把它转成二进制后,把第一个向左或者向右旋转最少的次数同,使得第一个变成第二个. 析:也是比较水的,按照要求做就好,注意0的情况,可能会忘记. #pragma commen ...

  5. git/github 使用

    原文:http://www.cnblogs.com/fnng/archive/2011/08/25/2153807.html git/github学习笔记 Posted on 2011-08-25 2 ...

  6. 在js中使用createElement创建HTML对象和元素

    1.创建链接 <script language="javascript"> var o = document.body; //创建链接 function createA ...

  7. weblogic/utils/NestedException

    Working with Weblogic 8.1, it’s fine just to put jar of weblogic-8.1.jar into your classpath, your c ...

  8. ExtJs内的datefield控件选择日期过后的事件监听select

    [摘要]: 选择时间过后我们为什么需要监听事件?一般有这样一种情况,那就是用于比较两个时间大小或者需要判断在哪个时间点上需要做什么样的操作.基于这样的种种情况,我们很有必要琢磨一下datefield控 ...

  9. state与status的区别

    status 指人时暗指相对的地位,指物时相当于 situation.situation 较狭义地指由环境综合决定的特定时间上的状态或情形. state 人或物存在或所处的状态,和 condition ...

  10. Java常见排序算法之直接选择排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...