摘要:
路由模式 在vue中路由主要分为了两种模式 分别是hash模式和history模式 hash模式 主要是通过window上的hashchange事件进行实现的 // 首次加载时 document.addEventListener('DOMContentLoaded', () => { view.in 阅读全文
摘要:
对象类型与原始值类型的不同之处? 原始值类型保存在栈中,值是直接存储在变量访问的位置, 复制原始类型变量的值时,会将值拷贝一份,和原来的值是相互独立的 引用变量的名称储存在栈中,但是把其实际对象储存在堆中,且存在一个指针由变量名指向储存在堆中的实际对象,复制对象类型变量的值时,会将存储在变量中的值拷 阅读全文
摘要:
什么是原型,什么是原型链 每一个构造函数都有一个原型对象属性prototype,每一个JavaScript对象在创建的时候就会关联这个对象,这个对象就是原型,包含了很多属性 实例化的对象中的__proto__会指向这个原型对象属性prototype 原型链就是多个对象通过 proto 的方式连接了起 阅读全文
摘要:
promise的实现 https://www.cnblogs.com/dark-duck/p/14325604.html 文件的分片上传断点续传,还有通常说的秒传 https://www.cnblogs.com/dark-duck/p/14326058.html 函数柯里化 https://www. 阅读全文
摘要:
事件触发的几个阶段 捕获阶段:事件从根节点流向目标节点,途中流经各个DOM节点,在各个节点上触发捕获事件,直到达到目标节点。 目标阶段:事件到达目标节点时,就到了目标阶段,事件在目标节点上被触发 冒泡阶段:事件在目标节点上触发后,不会终止,一层层向上冒,回溯到根节点 为什么通常在冒泡阶段执行事件 兼 阅读全文
摘要:
什么是函数柯里化,有什么作用 在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。 主要作用 参数复用 提前返回 – 返回接受余下的参数且返回结果的新函数 延迟执行 – 返回新函数,等待执行。 function add(a, b) { return a + 阅读全文
摘要:
async实现 https://www.cnblogs.com/dark-duck/p/14321687.html 理论以及dom相关 https://www.cnblogs.com/dark-duck/p/14321961.html 阅读全文
摘要:
考察隐式类型转换,下面if为真的有哪些 if([]) if({}) if([]==false) if({}==false) 第一个为真,[]会被转换成true 第二个为真,[]会被转换成true 在if中单独会被转换成false的情况 数字0 NaN 空字符串 null或undefined 第三个为 阅读全文
摘要:
// gen 为generator 实现Async的主要思路 Async返回的是一个promise对象 使用一个step对generator进行遍历 使用一个Promise.resolve()来拿到每个yield的返回值,并且在下一次调用时传入,循环以往直到结束 有错误使用throw方法抛出,在ge 阅读全文
摘要:
简述 首先我们知道generator的内部实现采用了一种类似于协程的方法,即在在函数执行的过程之中遇到yield关键字时,就会暂时退出堆栈,但是并不消失,里面的所有变量和对象会冻结在当前状态。等到对它执行next命令时,这个上下文环境又会重新加入调用栈,冻结的变量和对象恢复执行。 同步任务 对于同步 阅读全文