随笔分类 -  面试常见问题总结

1
总结前端面试,包括HTML、CSS、JavaScript、Vue、React、Node相关知识。 与君共勉。
摘要:1. 局部作用域中的意外全局变量 (function(){ var x = y = 1; })(); var z; console.log(y); console.log(z); console.log(x); **答案:**1,undefined,报错 Uncaught ReferenceErro 阅读全文
posted @ 2022-04-06 20:49 青柠i 阅读(125) 评论(0) 推荐(0)
摘要:1. 简单函数调用this问题 function foo() { console.log( this.a ); } function doFoo() { foo(); } var obj = { a: 1, doFoo: doFoo }; var a = 2; obj.doFoo() 答案: 2。 阅读全文
posted @ 2022-04-06 19:33 青柠i 阅读(156) 评论(0) 推荐(0)
摘要:一、Promise 1. const promise1 = new Promise((resolve, reject) => { setTimeout(() => { resolve('success') }, 1000) }) const promise2 = promise1.then(() = 阅读全文
posted @ 2022-04-06 16:48 青柠i 阅读(93) 评论(0) 推荐(0)
摘要:1. 介绍 浏览器的缓存机制指的是通过在一段时间内保留已接收到的 web 资源的一个副本,如果在资源的有效时间内,发起了对这个资源的再一次请求,那么浏览器会直接使用缓存的副本,而不是向服务器发起请求。使用 web 缓存可以有效地提高页面的打开速度,减少不必要的网络带宽的消耗。 2. 缓存机制的分类 阅读全文
posted @ 2021-10-07 16:10 青柠i 阅读(91) 评论(0) 推荐(0)
摘要:1. 原型链继承 // 原型链继承 function Parent(){ this.name = ["原型链继承"]; } // 原型上挂载方法 Parent.prototype.getName = function(){ console.log(this.name); } function Chi 阅读全文
posted @ 2021-10-01 11:13 青柠i 阅读(82) 评论(0) 推荐(0)
摘要:1. 什么是异步渲染? **环境补充:**当数据在同步变化的时候,页面订阅的响应操作为什么不会与数据变化完全对应,而是在所有的数据变化操作做完之后,页面才会得到响应,完成页面渲染。 从一个例子体验一下异步渲染机制: import Vue from 'Vue' new Vue({ el: '#app' 阅读全文
posted @ 2021-09-28 02:24 青柠i 阅读(282) 评论(0) 推荐(0)
摘要:1. 函数防抖(debounce) 概念: 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。 实现: function debounce(fn, wait){ let timer = null; return function (){ let context = this;// 获 阅读全文
posted @ 2021-09-26 10:49 青柠i 阅读(76) 评论(0) 推荐(0)
摘要:1. 手写数组的 reduce 方法 Array.prototype.myReduce = function (fn, init) { if (typeof fn !== 'function') { throw new Error(`${fn} is not a function`) } // 当前 阅读全文
posted @ 2021-09-26 09:46 青柠i 阅读(116) 评论(0) 推荐(0)
摘要:1. 技巧性深浅拷贝 1.1 数组的浅拷贝 数组,我们可以利用数组的一些方法比如:slice、concat 返回一个新数组的特性来实现拷贝。 let arr = ['old', 1, true, null, undefined, { old: "old" }]; let new_arr = arr. 阅读全文
posted @ 2021-09-25 22:37 青柠i 阅读(74) 评论(0) 推荐(0)
摘要:动态规划 1. 爬楼梯问题 有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法? 1.1 递归方法分析 由分析可知,假设我们只差最后一步就能走上第10级阶梯,这个时候一共有两种情况,因为每一步只允许走1级或2级阶梯, 因此分别为从8级阶梯和从 阅读全文
posted @ 2021-09-16 11:18 青柠i 阅读(60) 评论(0) 推荐(0)
摘要:1. Post 和 Get 的区别? Post 和 Get 是 HTTP 请求的两种方法。 (1)从应用场景上来说,GET 请求是一个幂等的请求,一般 Get 请求用于对服务器资源不会产生影响的场景,比如说请求一个网 页。而 Post 不是一个幂等的请求,一般用于对服务器资源会产生影响的情景。比如注 阅读全文
posted @ 2021-09-14 21:51 青柠i 阅读(75) 评论(0) 推荐(0)
摘要:1. 如何封装一个 javascript 的类型判断函数? function getType(value) { // 判断数据是 null 的情况 if (value null) { return value + ""; } // 判断数据是引用类型的情况 if (typeof value "obj 阅读全文
posted @ 2021-09-13 21:18 青柠i 阅读(47) 评论(0) 推荐(0)
摘要:1. js 中的深浅拷贝实现? 相关资料: // 浅拷贝的实现; function shallowCopy(object) { // 只拷贝对象 if (!object || typeof object !== "object") return; // 根据 object 的类型判断是新建一个数组还 阅读全文
posted @ 2021-09-12 16:57 青柠i 阅读(47) 评论(0) 推荐(0)
摘要:1.谈一谈浏览器的缓存机制? 浏览器的缓存机制指的是通过在一段时间内保留已接收到的 web 资源的一个副本,如果在资源的有效时间内,发起了对这个资源的再一次请求,那么浏览器会直接使用缓存的副本,而不是向服务器发起请求。使用 web 缓存可以有效地提高页面的打开速度,减少不必要的网络带宽的消耗。 we 阅读全文
posted @ 2021-09-12 10:19 青柠i 阅读(49) 评论(0) 推荐(0)
摘要:1.简单入门 //正则表达式 let reg1=/abc/; let reg2=new RegExp("abc"); let str="cdadabcjh"; let str1="h"; let str2="cdadacjh"; console.log(reg1.test(str)); //true 阅读全文
posted @ 2021-09-11 15:35 青柠i 阅读(195) 评论(0) 推荐(0)
摘要:类型转换 1. 其他值到字符串的转换规则? 规范中定义了抽象操作 ToString ,它负责处理非字符串到字符串的强制类型转换。 (1)Null 和 Undefined 类型 ,null 转换为 "null",undefined 转换为 "undefined", (2)Boolean 类型,true 阅读全文
posted @ 2021-09-11 13:12 青柠i 阅读(71) 评论(0) 推荐(0)
摘要:1. 介绍 js 的基本数据类型。 js 一共有六种基本数据类型,分别是 Undefined、Null、Boolean、Number、String,还有在 ES6 中新增的 Symbol 和 ES10 中新增的 BigInt 类型。 Symbol 代表创建后独一无二且不可变的数据类型,它的出现我认为 阅读全文
posted @ 2021-09-10 22:22 青柠i 阅读(51) 评论(0) 推荐(0)
摘要:1.介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型(怪异盒模型)有什么不同的? 两者盒模型都是由四个部分组成的,分别是margin、border、padding和content。 标准盒模型和IE盒模型的区别在于设置width和height时,所对应的范围不同。标准盒模型的width和 阅读全文
posted @ 2021-09-10 19:23 青柠i 阅读(56) 评论(0) 推荐(0)
摘要:1. 前端如何进行性能优化? 答: 前端性能优化主要是为了提高页面的加载速度,优化用户的访问体验。我认为可以从这些方面来进行优化。 第一个方面是页面的内容方面 (1)通过文件合并、css 雪碧图、使用 base64 等方式来减少 HTTP 请求数,避免过多的请求造成等待的情况。 (2)通过 DNS 阅读全文
posted @ 2021-09-09 20:48 青柠i 阅读(51) 评论(0) 推荐(0)
摘要:隐式转换 1.题目: //1. console.log(1 + "true"); console.log(1 + true); console.log(1 + undefined); console.log(1 + null); //2. console.log("2" > 10); console 阅读全文
posted @ 2021-09-01 17:24 青柠i 阅读(119) 评论(0) 推荐(0)

1