zoukankan      html  css  js  c++  java
  • js不使用第三方变量交换两个变量的方法

    代码如下:

    let a = 1, b = 10
    
    a = a + b - (b = a)
    console.log('first: ', a, b)
    
    a = a ^ b
    b = a ^ b
    a = b ^ a
    console.log('second: ', a, b)
    
    a = {a, b}
    b = a.a
    a = a.b
    console.log('third: ', a, b)
    
    a = [a, b]
    b = a[0]
    a = a[1]
    console.log('fourth: ', a, b)
    
    a = a + b
    b = a - b
    a = a - b
    console.log('fifth: ', a, b)
    
    a = a * b
    b = a / b
    a = a / b
    console.log('sixth: ', a, b)
    
    //注意这里前面要有;或者上面的console.log后面要有;否则报错
    ;[a, b] = [b, a]
    console.log('seventh: ', a, b)
    

      除了第一种是运算顺序、最后一种是解构赋值,其它的方法主要的思路都是:先产生一个与这两个变量有关的一个新的值,然后重新计算。

    运行结果截图如下:

    注意js中加分号主要在圆括号(方括号[正则开头的斜杠加号减号后三种比较少见前面两种主要体现在IIFE立即执行的函数表达式,数组)5种情况下容易出问题。

    参考链接:https://blog.csdn.net/q1056843325/article/details/53223914?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.baidujs&dist_request_id=1328679.11011.16161628507793059&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.baidujs

    当时光不再,莫空留遗恨!
  • 相关阅读:
    第1课 Git、谁与争锋
    程序员最真实的10个瞬间
    程序员最真实的10个瞬间
    一文读懂前端缓存
    一文读懂前端缓存
    一文读懂前端缓存
    EF使用CodeFirst创建数据库和表
    EF使用CodeFirst创建数据库和表
    EF使用CodeFirst创建数据库和表
    ASP.NET MVC的过滤器笔记
  • 原文地址:https://www.cnblogs.com/why-not-try/p/14564138.html
Copyright © 2011-2022 走看看