粥里有勺糖

vuePress-theme-reco 粥里有勺糖    2018 - 2023
粥里有勺糖 粥里有勺糖

Choose mode

  • dark
  • auto
  • light
关于我
备战春秋
  • 心得总结
  • 校招考点汇总
  • 面经汇总
  • 复习自查
技术笔记
  • 技术教程
  • 模板工程
  • 源码学习
  • 技术概念
  • 个人作品
  • 学习笔记
计算机基础
  • 算法与数据结构
  • 操作系统
  • 计算机网络
  • 设计模式
  • 剑指offer
大前端
  • javascript
  • vue
  • html
  • css
  • 🌏浏览器专题
  • Web性能优化
  • regexp
  • node
面试
  • 问解
  • javascript
  • css
  • 手撕代码
  • 性能优化
  • 综合问题
  • 面经汇总
  • 小程序
手撕代码
  • 数据结构与算法
  • javascript
  • css
个人站点
  • GitHub (opens new window)
  • 博客园 (opens new window)
  • 掘金 (opens new window)
线上作品
  • 轻取(文件收集) (opens new window)
  • 个人图床 (opens new window)
  • 考勤小程序 (opens new window)
  • 时光恋人 (opens new window)
  • 在线简历生成 (opens new window)
留言板
Github (opens new window)
author-avatar

粥里有勺糖

285

文章

40

标签

关于我
备战春秋
  • 心得总结
  • 校招考点汇总
  • 面经汇总
  • 复习自查
技术笔记
  • 技术教程
  • 模板工程
  • 源码学习
  • 技术概念
  • 个人作品
  • 学习笔记
计算机基础
  • 算法与数据结构
  • 操作系统
  • 计算机网络
  • 设计模式
  • 剑指offer
大前端
  • javascript
  • vue
  • html
  • css
  • 🌏浏览器专题
  • Web性能优化
  • regexp
  • node
面试
  • 问解
  • javascript
  • css
  • 手撕代码
  • 性能优化
  • 综合问题
  • 面经汇总
  • 小程序
手撕代码
  • 数据结构与算法
  • javascript
  • css
个人站点
  • GitHub (opens new window)
  • 博客园 (opens new window)
  • 掘金 (opens new window)
线上作品
  • 轻取(文件收集) (opens new window)
  • 个人图床 (opens new window)
  • 考勤小程序 (opens new window)
  • 时光恋人 (opens new window)
  • 在线简历生成 (opens new window)
留言板
Github (opens new window)
  • review

    • 复习自查
    • 01-01
    • 01-04
    • 01-16
    • 01-17
    • 01-19
    • 01-20
    • 01-20
    • 01-22
    • 01-23
    • 01-24
    • 01-25
    • 01-26
    • 01-27
    • 01-28
    • 01-29
    • 01-30
    • 01-31
    • 02-01
    • 12-15
    • 12-16
    • 12-17
    • 12-18
    • 12-21
    • 12-23
    • 12-25
    • 12-27
    • 12-29
    • 12-30

01-20

vuePress-theme-reco 粥里有勺糖    2018 - 2023

01-20

粥里有勺糖 2021-01-20 备战春秋复习自查

# 01-20

# 模拟实现

  1. 根据async/await与generator的关系模拟实现
// gen 为generator
function myAsync(gen){

}


// 测试代码
myAsync(function* () {
    const a = yield Promise.resolve(1)
    const b = yield new Promise((res, rej) => {
        setTimeout(() => {
            res(2)
        }, 2000)
    })
    const c = yield Promise.resolve(3)
    console.log(a, b, c);

    try {
        const d = yield Promise.reject(4)
    } catch (error) {
        console.log(error);
    }

    return [a, b, c]
}).then(console.log)
// 输出
// 1 2 3
// 4
// [1,2,3]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# 理论

  1. 考察隐式类型转换,下面if为真的有哪些
if([])
if({})
if([]==false)
if({}==false)
1
2
3
4
  1. this指向考察
function a(){
    this.b = 3
}
a()
console.log(b) // ?
var b = 5
console.log(b) // ?
var c = new a()
console.log(b) // ?
a.prototype.b = 4
a.prototype.c = 5
console.log(c.b) // ?
console.log(c.c) // ?
console.log(b) // ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  1. 什么是动态作用域?什么是静态作用域?
  2. js是动态还是静态作用域
  3. 作用域考察
    1. 例1
    var scope = "global scope";
     function checkscope() {
         var scope = "local scope";
         function f() {
             return scope;
         }
         return f();
     }
     console.log(checkscope()); // ?
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    1. 例2
     var scope = "global scope";
     function checkscope(){
         var scope = "local scope";
         function f(){
             return scope;
         }
         return f;
     }
     checkscope()(); // ?
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    1. 例3
    for(var i = 0;i<2;i++){
        setTimeout(()=>{
            for(var j = 0;j<3;j++){
                setTimeout(()=>{
                    console.log(i*j)
                },0)
            }        
        },0)
    }
    // 输出结果是多少?为什么
    // var 变为 let 结果又是多少?为什么
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

# dom相关

  1. 如何获取一个dom对象
  2. 如何获取指定dom的指定属性
  3. 如何获取指定dom的指定样式
  4. 如何获取指定dom的生效样式

# 朋友们的回答

  • tdk (opens new window)
  • tl (opens new window)
Edit this page (opens new window)
Last Updated: 2022/5/15 12:46:34