前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js不使用第三方变量交换两个变量的方法

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

作者头像
用户1149564
发布2021-04-01 10:36:46
1.1K0
发布2021-04-01 10:36:46
举报
文章被收录于专栏:Micro_awake webMicro_awake web

代码如下:

代码语言: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%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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档