js不使用第三方变量交换两个变量的方法

2021-04-01 10:36:46 浏览数 (1)

代码如下:

代码语言:javascript复制
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~default~BlogCommendFromMachineLearnPai2~default-2.baidujs&dist_request_id=1328679.11011.16161628507793059&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-2.baidujs

0 人点赞