1. 去掉数组中非数字字符, 并给每个数字+1
1 | // 删除数组从后往前删 避免数组塌陷 |
2. 再两个排好序的数组中, 高效率找出相同的元素放入新数组
1 | // 两个变量 谁小谁往后移动 未排序先用 arr.sort排序后再查找 |
3. 找出一个排好序的数组中, 两个元素相加和为19的元素组合
1 | var arr4 = [1, 2, 4, 6, 7, 11, 12, 15, 17, 20] |
4. hash 数组去重 会改变数据类型
1 | var arr5 = [1, 2, 3, 4, '2', 1] |
5. x in window
1 | // var y var x---> window.x window.y |
6. 闭包 作用域链
1 | function fun(n, o){ // fun 全局函数 随处可用 |
7. 默认参数
1 | // es6 如果函数的形参定义默认值 则函数体会包裹在一个匿名函数自调中运行 |
8. FOO.a
1 | function Foo(){ // 第一步 创建地址Foo存储对象 |
9. foo.x 闭包
1 | var x = 0; |
10. obj.fn1
1 | var a = 2 |
11. 引用类型
1 | function setObj(p){ |
12. 判断一个属性是否在对象内
1 | // 属性名 in obj --->是不仅判断一个属性是否在对象内部, 还判断是否在当前对象的原型链上 |
其他
1 | // getElements vs querySelectorAll |
继承
1 | // 定义一个新的People类继承 Animal中所有的属性和方法 |
promise 多个resolve
1 | // 1. first()-> new Promise 立即执行 输出 3 再立即执行new promise 输出 7 |
promise 多个then
1 | // 1. 将 setTimeout 放入宏任务队列 |