
面试
飞鱼Code
这个作者很懒,什么都没留下…
展开
-
从输入URL到页面加载完成期间经历了什么?
1、DNS域名解析回车敲响的那一刻,浏览器检查了输入框,www.sunjiaoshou.com是什么鬼东西??我需要的可是IP地址呀!万般无奈之下找向了浏览器缓存,让其查找是否有这家伙的记录,结果并没有发现,此时找向系统缓存,主要去查找了系统中的hosts文件,同样没有,此时找向路由器缓存,查看路由器映射表,然而,并没有!于是,计算机将域名发给了本地DNS服务器(提供本地连接的服务商),本地DNS服务器找不到会将域名发送给其他服务器,进行递归过程,首先会发送到根域名服务器去找,返回顶级域名服务器的IP地址转载 2021-03-14 15:04:56 · 1018 阅读 · 0 评论 -
ES5/ES6 的继承除了写法以外还有什么区别?
ES5 的继承实质上是先创建子类的实例对象,然后再将父类的方法添加 到 this 上(Parent.apply(this)).ES6 的继承机制完全不同,实质上是先创建父类的实例对象 this(所以必 须先调用父类的super()方法),然后再用子类的构造函数修改 this。ES5 的继承时通过原型或构造函数机制来实现。ES6 通过 class 关键字定义类,里面有构造方法,类之间通过 extends 关 键字实现继承。子类必须在 constructor 方法中调用 super 方法,否则新建实.原创 2021-03-11 17:17:40 · 1247 阅读 · 0 评论 -
深度优先遍历和广度优先遍历
两者的区别对于算法来说 无非就是时间换空间 空间换时间深度优先不需要记住所有的节点, 所以占用空间小, 而广度优先需要先记录所有的节点占用空间大深度优先有回溯的操作(没有路走了需要回头)所以相对而言时间会长一点深度优先采用的是堆栈的形式, 即先进后出广度优先则采用的是队列的形式, 即先进先出const data = [ { name: 'a', children: [ { name: 'b', children: [{ name:原创 2021-03-11 16:59:50 · 926 阅读 · 0 评论 -
介绍下 Set、Map、WeakSet 和 WeakMap 的区别?
Set——对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用 WeakSet——成员都是对象;成员都是弱引用,可以被垃圾回收机制回收,可以 用来保存 DOM 节点,不容易造成内存泄漏; Map——本质上是键值对的集合,类似集合;可以遍历,方法很多,可以跟各 种数据格式转换。WeakMap——只接受对象最为键名(null 除外),不接受其他类型的值作为键 名;键名是弱引用,键值可以是任意的,键名所指向的对象可以被垃圾回收, 此时键名是无效的;不能遍历,方法有 get、set、has、delete。原创 2021-03-11 15:26:15 · 1244 阅读 · 0 评论 -
js面试题之一分享
第一眼看到这个题目的时候,脑海跳出的答案是 [1, 2, 3],但是真正的答案是[1, NaN, NaN]。首先让我们回顾一下,map 函数的第一个参数 callback。这个 callback 一共可以接收三个参数,其中第一个参数代表当前被处理的元素,而第二个参数代表该 元素的索引。arr.map(callback: (value: T, index: number, array: T[]) => U, thisArg?: any);而 parseInt则是用来解析字符串的,使字符串.原创 2021-03-11 14:42:55 · 942 阅读 · 0 评论