常见的场景题(读代码)
-
以下代码的输出?(函数修改形参能否影响实参?)
函数是赋值传递。num和obj的值是不会被改变的。 所以输出的num还是100,obj仍然是{name: '双越'}。
-
手写convert函数,将数组转为树(TS写的)
基础问题!不会的话先去恶补JS版本的数据结构!
树节点:
如何找到parentNode?快速找到
我先跳过这题...... -
😌以下代码输出什么?(原型和原型链)
不要去读代码,而是要去模拟JS引擎执行代码~
看到函数,没有执行,就不管它里面的内容,直到看到它被调用了再去看它里面写了什么。
-
🤨一道Promise执行顺序问题(异步 EventLoop)
答案是:0 1 2 3 4 5 6
❗❗ then交替执行
❗ 返回一个新的Promise会慢两拍
👇再看一个例子(记住“慢两拍”and“交替执行”)
-
以下代码输出啥?(值类型和引用类型)
看个区别:
a.x的.要比赋值权重要高。先初始化该属性,再对该属性进赋值。
倒序赋值!
a到后面只指向{n: 2}了。
-
以下代码输出啥
打印c
- Symbol类型不会覆盖原有的属性
打印b
打印c
,被覆盖了。
但是Map的key可以是各种类型。