Open haizhilin2013 opened 5 years ago
利用运算符优先级和0 `b = a + 0 (a = b);` 利用执行顺序
a = a + b;
b = a - b;
a = a - b;
异或取值
a ^= b;
b ^= a;
a ^= b;
let a = 1, b= 2
[a, b] = [b, a]
利用运算符优先级和0 `b = a + 0 (a = b);` 利用执行顺序
a = a + b; b = a - b; a = a - b;
异或取值
a ^= b; b ^= a; a ^= b;
我去这种骚操作, 我只知道一个解构.
let [a,b] = [b,a]
var a = 1,b = 2;
a = b+a;
b = a-b;
a = a-b;
- ES6
let [a,b] = [b,a]
- ES5
var a = 1,b = 2; a = b+a; b = a-b; a = a-b;
ES 6 这个 优秀
不能使用临时变量的是什么意思求解答
1:a ^= b; b ^= a; a ^= b;
2:es6解构 [b,a]=[a,b]
在 2019年9月15日,下午3:13,LAO_SHEN notifications@github.com<mailto:notifications@github.com> 写道:
不能使用临时变量的是什么意思求解答
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/haizlin/fe-interview/issues/175?email_source=notifications&email_token=ABG6PUXYLHF4GJXAQSPTZ7LQJXOABA5CNFSM4HR54JIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6XKY3Y#issuecomment-531541103, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABG6PUUOD5FNV543LBYIXNDQJXOABANCNFSM4HR54JIA.
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a, b); // => 2, 1
let a = 1, b = 2 return [a, b] = [b, a]
第一种
let b = 1
let c = 2
let tmp
tmp = b
b = c
c = tmp
第二种
let a = 1;
let b = 2;
[a, b] = [b, a];
利用运算符优先级和0 `b = a + 0 (a = b);` 利用执行顺序
a = a + b; b = a - b; a = a - b;
异或取值
a ^= b; b ^= a; a ^= b;
分享个新鲜的用法
let a = 0;
let b = 1;
a = [b, b = a][0];
console.log(a, b);
es6 解构 [a,b] = [b,a]
ES6解构赋值 [a, b] = [b, a]; ES5 a = a + b; b = a - b; a = a - b;
第46天 写一个使两个整数进行交换的方法(不能使用临时变量)