随笔分类 - 面试
摘要:1、vue实现双向数据绑定原理是什么? 2、v-model语法糖是怎么实现的 在input 上绑定message,并通过input事件获取当前事件的target.value,并赋值给message。 3、Hash和history有什么区别 4、什么是深拷贝和浅拷贝?以及怎么实现深拷贝和浅拷贝? 5、
阅读全文
摘要:##1.解释一下原型链 ##2.instanceof原理 ##3.apply和call的作用及区别 ##4.position有哪些值,作用分别是什么 ##5.说下你对DOM树的理解 ##6.重排和重绘是什么,有什么区别 ##7.https加密过程是怎样的 ##8.实现 add(1)(2)(3) ##
阅读全文
摘要:减少http请求。 使用 HTTP2。 使用服务端渲染 静态资源使用 CDN 将 CSS 放在文件头部,JavaScript 文件放在底部 使用字体图标 iconfont 代替图片图标 善用缓存,不重复加载相同的资源 压缩文件 图片优化 (1). 图片延迟加载 (2). 响应式图片 (3). 调整图
阅读全文
摘要:##1.定义整体结构 // 自定义Promise函数模块 (function (window) { /* promise 构造函数 excutor 执行器函数(同步执行) */ function Promise(excutor) { } /* Promise的原型对象then() 指定成功/失败的回
阅读全文
摘要:##Promise是什么? promise是js处理异步编程的解决方案。 具体表达: 从语法上来说,promise是一个构造函数 从功能上来说,promise对象用来封装一个异步操作并可以获取其结果。 ##Promise的状态改变。 1.pending 变为 resolved。 2.pedning
阅读全文
摘要:##js的事件流模型 “事件冒泡”: 事件开始由具体的元素接受,然后逐级向上传播 “事件捕捉”:事件由不具体的节点接收,然后逐级向下,一直到具体的 DOM事件流 事件捕捉 目标阶段 事件冒泡 ##浏览器对象模型BOM里常用的对象。 window js的最顶层对象 document 文档对象 loca
阅读全文
摘要:##题目 如下代码展示,当a为什么的时候?条件成立并打印console!! var a = ???? if(a==1 && a==2 &&a==3){ console.log('ok') } 第一眼看到的时候,‘什么鬼啊,是不是’,a怎么可能同时等于三个值呢。 但是我们往深处想一想,不是有类型转换的
阅读全文
摘要:##响应式数据的原理 核心点Object.defineProperty vue在data中初始化数据时,会给data中的属性使用Object.defineProperty重新定义属性。 当页面取到对应属性时,会进行依赖收集,如果属性发生变化则会通知想关依赖进行操作。 vue如何检测数组变化? 1.使
阅读全文
摘要:先来一个开胃菜。。 ##下面输出什么 for(var i=0;i<5;i++){ setTimeout(()=>{ console.log(i) },1000) } 啊,这么简单,谁不会啊,五个5嘛 那么我来提个需求,改造上面的代码使其输出 0 1 2 3 4, 你有几种实现方案呢?(狗头警告) 我
阅读全文
摘要:##第一题 解析 // 解释 100 2 var length = 100; function f1(){ console.log(this.length) //this会变 数组长度属性length } var obj = { x:10, f2:function(f1){ f1(); //无调用者
阅读全文
摘要:##异步操作 定时器 ajax 绑定的onclick函数 凡是异步操作 都会等在主程序执行完毕 再执行 ##new Promise会立即执行 代码 效果 .then是异步的 代码 效果 ##了解宏任务与微任务 宏任务 定时器 动画 事件 微任务 promise object observe ##执行
阅读全文
摘要:##promise基础 // 使用promise解决炼狱回调的问题 // let p1 = new Promise(function(resolove,reject){ // // resolove 成功 // // reject 失败 // }) // p1 是new Promise的实例 //
阅读全文
摘要:##重排与重绘 重绘:触发条件-->改变元素外观属性。如color,background等 重排:渲染树尺寸,布局等改变需要重新构建,就称为回流。 ###重绘与重排的关系 重排必定会引起重绘,重绘不一定会引起重排。 ###触发重绘的条件 任何页面布局和几何属性的改变都会触发重排: 比如: 1.页面渲
阅读全文
摘要:封装防抖节流函数 ##防抖 // 防抖函数 function debounce(fn,delay) { let timer = null; return ()=>{ // 清楚上一次的计时器 clearTimeout(timer) timer = setTimeout(()=>{ // 改变this
阅读全文
摘要:##1.有哪些常见的Loader?你用过哪些Loader? raw-loader:加载文件原始内容(utf-8) file-loader:把文件输出到一个文件夹中,在代码中通过相对 URL 去引用输出的文件 (处理图片和字体) url-loader:与 file-loader 类似,区别是用户可以设
阅读全文

浙公网安备 33010602011771号