收入一些不太会的
阿里巴巴ICBU
-
webpack怎么提高构建速度?
减少 resolve 的解析
把 loader 应用的文件范围缩小,例如 node_modules 目录下的其他依赖类库文件,基本就是直接编译好可用的代码,无须再经过 loader 处理了
利用缓存提升构建速度,利用缓存提升构建速度
-
外部扩展(externals) 排除啥?
就是webpack可以不处理应用的某些依赖库,使用externals配置后,依旧可以在代码中通过CMD、AMD或者window/global全局的方式访问。
有时我们希望我们通过script引入的库,如用CDN的方式引入的jquery,我们在使用时,依旧用require的方式来使用,但是却不希望webpack将它又编译进文件中。
-
Person是构造函数**, Person.prototype 是原型对象(提供共有方法), person是实例, 实例可以通过_proto_找到原型对象。
-
每个对象都有_proto_ ( 除了 var obj = Object.create(null) )
每个函数对象都有 prototype。这个属性用于实现“实例化”(函数对象也是对象所以也有_proto_,即 Func._proto_ = Function.prototype)
函数对象的 prototype 所指向的也是对象,所以也有 __proto__,即 Func**.prototype._proto_**。这个属性用于实现“继承”
-
const a = 2
const a = 2 console.log(a.prototype) undefined console.log(a.__proto__) {} -
instanceof 手写
关键点: 构造函数Fn的
prototype,实例对象的原型链。所以只要遍历实例对象的原型链,挨个往上查找看是否有与Fn的
prototype相等的原型,直到最顶层Object还找不到,那么就返回false。 -
可枚举对象有什么