Skip to content
Menu
Yuuk的博客
  • 首页
  • 前端技术
    • JavaScript
    • HTML & CSS
  • SEO
  • 设计
    • 素材分享
    • 设计教程
  • 随笔
Yuuk的博客

JS如何在不使用第三个变量的前提下交换已有的两个变量的值?

Posted on 2019年11月28日2019年11月28日 by yuuk

今天无意间看到群里面的朋友发的一道面试题,我当时就觉得这种题目真的很扯。。。没有实际的用途,完全就是让面试者使用奇技淫巧。🤤

可能出题者的意图就是想考察面试者的多方位思考能力吧~~~😂

题目如下:

var a = 10;
var b = 20;

有了ES6,就很方便了,直接数组解构。

var a = 10;
var b = 20;

[b, a] = [a, b];

// a => 20
// b => 10

那么不用ES6呢?其实还可以利用JS弱类型的特点。

var a = 10;
var b = 20; 

a = [a, b]; // 让 a 变成数组

b = a[0]; // 先取出 b

a = a[1]; // 再覆盖 a

还可以利用计算的特点。

var a = 10;
var b = 20;

a = a + b; // 30

b = a - b; // b = 30 - 20

a = a - b; // a = 30 - 10

个人觉得利用数组的方式 (第二种)比较容易理解,当然ES6是最简单的。

 

 

打赏赞(2)分享

搜索

近期文章

  • 宝塔面板中使用docker部署nodejs应用
  • 如何将docker镜像上传到阿里云
  • React Native 报错 No bundle URL present 解决方法
  • axios 给每一个请求添加耗时统计
  • css filter属性导致fixed失效

标签

addEventListener ajax ajax跨域 chatAt css居中 DNS缓存 docker gulp ie7 json jsonp margin memcache mysql nodejs ps技巧 typescript void vpn vuejs wampserver webpack win10 XMLHttpRequest z-index 事件冒泡 事件绑定 内容发布时间 图片加载 大写 字符串 封装ajax 广告屏蔽 批量修改图层名称 水平垂直居中 注册码 特殊符号 百度 空元素 站长平台 网页快照 负边界 递减 随机数 首字母

友情链接

  • 蔡甸新闻网
©2025 Yuuk的博客 | 鄂ICP备13014750号-9