忘羡 2022-05-04 13:55:19
左移3位 相当于乘8 然后再减去自己 不就是7倍了吗 减法的移位运算可以转换加法的移位运算
整数: n
背景知识: -n = ~(n-1) = ~n+1
转换方程
n*7 ==> n<<3-n ==> add(n<<3, ~n+1) ==> add(n<<3, add(~n, 1))
function add(m,n){ return n?add(m^n, (m&n)<<1):m; } add(n<<3, add(~n, 1)) 14
通用场景
不用加减乘除运算符,求整数n的m倍
这个就不难了 哈哈
忘羡 2022-05-04 13:32:19
这里对上面的例子做一个扩展
const promise = new Promise((resolve, reject) => { console.log(1); resolve(5); console.log(2); }).then(val => { console.log(val); }); promise.then(() => { console.log(3); }); console.log(4); setTimeout(function() { console.log(6); });执行结果: 124536
请问为什么3在val之前?
3是在5后面打印出来的啊,第一轮事件循环的时候,microtask queue里面先添加的promise.resolve(5).then((val)=>{console.log(val)}),后添加的promise.then(() => {
console.log(3);
});
- 共 1 页
- 1
第 67 题:随机生成一个长度为 10 的整数类型的数组