JS中的[a, b] = [b, a+b];

JS中的[a, b] = [b, a+b];

作为一名码农,我们肯定会离不开菲波那切数列,简单介绍一下它,n=(n-1) + (n-2),那么在js中,我们通常会看到一些人用这么一行代码来解决:[a, b] = [b, a+b];(Python中也经常这么使用)
具体分析如下:

var arr = [0, 1];
var
    a = 0;
    b = 1;
    max = 5;
    n = 0;
while(n < max){
    n++;
    [a, b] = [b, a+b];
    arr.push(b);
}
console.log(arr);

可以看出来,[a, b] = [b, a+b];起到了var t = a + b;a = b;b = t;的作用,或者说是这段代码的精简版(省略了中间变量t的申请),实际上,它的运算顺序是从右到左的,先计算b和a+b,然后将b的值赋予a,再将a+b的值赋予b,以此来达到预期的计算结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值