字节DCD网络面经
1.实现一个构造函数 Foo,构造函数里面实现一个属性 a,和一个方法 getA,属性 a 能够在构造函数被实例化的时候通过参数设置
1 | function Foo (a){ |
2. 写一个构造函数 Bar 继承上面的 Foo, 并且它有一个方法 getB,能够获取到 Bar 实例对象的 b 属性
1 | function Bar (a,b){ |
3. 讲一讲 new 的工作原理
new 做的三件事
- 为实例添加私有属性;
- 让实例可以访问到构造函数原型所在原型链上的属性;
- 如果构造函数返回的不是引用类型,则返回自己创建的 obj;
1 | function myNew (func,...arg) { |
4. 看代码说输出
1 | var Item = { |