new Set([...document.querySelectorAll('*')].map(v => v.nodeName)).size
node
2 对象的键和值遍历小程序
Object.keys(obj),forEach(v=> [v,obj[v] ] )promise
3 冒泡排序bash
function bubbleSort(arr) {
let len = arr.length;
for (let i = 0; i < len; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { //相邻元素两两对比
[arr[j + 1], arr[j]] = [arr[j], arr[j + 1]];
}
}
}
return arr;
}复制代码
4 JS异步方案dom
(1)纯粹callback回调函数 回调地狱 剥夺了函数return能力异步
(2)promise 代码风格 多个等待合并 不须要层层传递callbackasync
(3)async await ES2017 小程序 目前不支持函数
5 写一个函数生成一个随机字符串 , 由用户自定义字符串长度ui
const chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
const random = function generateMixed(n) {
var res = "";
for (var i = 0; i < n; i++) {
var id = Math.ceil(Math.random() * 35);
res += chars[id];
}
return res;
}复制代码
未完待续spa