Javascript笔试题,交换两个变量的值。

在面试笔试的时候,不知道大家有没有遇到过交换变量的值,那么你知道哪几种方法呢。

接下来我们来实现一下

创建变量的方法
var a = 3, b = 5, c = b;
// 首先知道a = 3,b = 5,c = 5
b = a; // 这里吧 a 赋值给 b b = 3
a = c; // 紧接着把 c 赋值给 a a = 5
console.log(a, b) // 输出 5, 3
加减法
var a = 3, b = 5;
a = a + b; // 得到 a = 8
b = a - b; // 得到 b = 3
a = a - b; // 得到 a = 5
console.log(a, b) // 输出 5, 3
数组法
var a = 3, b = 5;
a = [a, b] // 其实就是一个数组 [3,5]
b = a[0] // [3,5] 下标 0 为 3
a = a[1] // [3,5] 下标 1 为 5
console.log(a, b) // 输出 5, 3
对象法
var a = 3, b = 5;
a = { a: b, b: a };
/**
 * { 得到一个对象为
 *      a:5,
 *      b:3
 * }
*/
b = a.b;
a = a.a;
console.log(a, b) // 输出 5, 3
数组运算符
var a = 3, b = 5;
a = [b, b = a][0]
/**
 * 根据运算符的优先级,会先执行b = a率先把a的值赋值给了 b
 * 紧接着用索引号获取第一个元素也就是把 b 的值赋值给 a
*/
console.log(a, b) // 输出 5, 3
解构赋值
var a = 3, b = 5;
[a, b] = [b, a] // 等于 [a,b] = [5,3]
console.log(a, b) // 输出 5, 3

欢迎评论区留下你实现的思路,互相学习进步~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值