摘要:
涉及面试题:事件的触发过程是怎么样的?知道什么是事件代理嘛? 1 事件触发三阶段 window 往事件触发处传播,遇到注册的捕获事件会触发; 传播到事件触发处时触发注册的事件; 从事件触发处往 window 传播,遇到注册的冒泡事件会触发。 事件触发一般来说会按照上面的顺序进行,但是也有特例,如果给 阅读全文
摘要:
涉及面试题:为什么 0.1 + 0.2 != 0.3 ?如何解决这个问题? 因为 JS 采用 IEEE 754 双精度版本( 64 位),并且只要采用 IEEE 754 的语言都有该问题 我们都知道计算机是通过二进制来存储东西的,那么 0.1 在二进制中会表示为: // (0011) 表示循环 0. 阅读全文
摘要:
涉及面试题: instanceof 的原理是什么? instanceof 可以正确的判断对象的类型,因为内部机制是通过判断对象的原型链中是不是 能找到类型的 prototype 实现一下 instanceof 首先获取类型的原型; 然后获得对象的原型; 然后一直循环判断对象的原型是否等于类型的原型, 阅读全文
摘要:
涉及面试题: new 的原理是什么?通过 new 的方式创建对象和通过字面量 创建有什么区别? 在调用 new 的过程中会发生四件事情 新生成了一个对象; 链接到原型; 绑定 this ; 返回新对象。 根据以上四个过程,我们也可以试着来自己实现一个 new 创建一个空对象, 获取构造函数, 设置空 阅读全文
摘要:
首先从以下几点来考虑如何实现这几个函数 不传入第一个参数,那么上下文默认为 window; 改变了 this 指向,让新的对象可以执行该函数,并能接受参数。 实现call 首先 context 为可选参数,如果不传的话默认上下文为 window; 接下来给 context 创建一个 fn 属性,并将 阅读全文