
前端八股文
文章平均质量分 65
NumbSilver
这个作者很懒,什么都没留下…
展开
-
深拷贝的多种方法
function deepCloneEasy(target){ if(target!==null &&typeof target==="object"){ return JSON.parse(JSON.stringify(target)) }else{ return target }}// 这个方法虽然简单但是会丢失方法 且循环调用会出问题function deepCloneHard(target,map=new Map()){原创 2021-06-14 11:16:56 · 294 阅读 · 0 评论 -
meta标签
meta标签一、meta标签的定义meta标签是head部的一个辅助性标签,提供关于 HTML 文档的元数据。它并不会显示在页面上,但对于机器是可读的。可用于浏览器(如何显示内容或重新加载页面),搜索引擎(SEO),或其他 web 服务。二、meta标签的作用meta标签里的数据是供机器解读的,其主要作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等等。三、meta标签的可选属性在W3school中原创 2021-06-13 18:45:05 · 2644 阅读 · 0 评论 -
Redux
Redux什么情况下使用redux某个组件的状态,需要共享某个状态需要在任何地方都可以拿到一个组件需要改变全局状态一个组件需要改变另一个组件的状态工作流程容器组件(用户)发出Action。容器组件:容器组件中要引入action,就是要引入需要操作的动作action_creators:(做什么,然后将需要做的事分发给STORE)Action Creators 把动作分发给StoreStore:负责中转,redux的主要组件Store 自动调用 Reducer,并且传入两个参数:原创 2021-06-01 22:27:02 · 235 阅读 · 0 评论 -
React三大属性和通信(组件间&组件内)
组件的三大属性state1. 组件被称为"状态机", 页面的显示是根据组件的state属性的数据来显示2. 初始化指定: constructor() { super() this.state = { stateName1 : stateValue1, stateName2 : stateValue2 } }3. 读取显示: this.state.stateName14. 更新状态-->更新界面 :原创 2021-05-30 21:53:29 · 272 阅读 · 1 评论 -
React Hook
React HookHook 是一些可以让你在函数组件里 “ 钩入” React state 及生命周期等特性的函数。Hook 不能在 class 组件中使用 —— 这使得你不使用 class 也能使用 React。hook出现的原因避免地狱式嵌套,可读性提高。函数式组件,比class更容易理解。class组件生命周期太多太复杂,使函数组件存在状态。解决HOC和Render Props的缺点。UI 和 逻辑更容易分离。hook使用规则只能在函数最外层调用 Hook。不要在循环、条件判原创 2021-05-27 11:31:49 · 323 阅读 · 0 评论 -
跨域问题(没写完)
跨域问题同源策略&跨域同源策略:浏览器的一种安全策略。同源:协议(http/https)域名 端口号 必须完全相同。违背同源策略就是跨域跨域:跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。非同源收到那些限制:cookie不能获取DOM无法获取Ajax请求不能获取数据jsonp解决跨域(只支持get请求)jsonp的原理:利用就是利用script标签没有跨域限制,可以通过s原创 2021-05-25 17:20:12 · 132 阅读 · 0 评论 -
Cookie、session和localStorage、以及sessionStorage
cookie和session的区别HTTP是一个无状态协议,因此cookie最大的作用就是存储sessionID用来唯一标识用户实现机制:Session的实现常常依赖于Cookie机制,通过Cookie机制回传SessionID;大小限制:Cookie有大小限制并且浏览器对每个站点也有cookie的个数限制,Session没有大小限制,理论上只与服务器的内存大小有关;安全性:Cookie存在安全隐患,通过拦截或本地文件找得到cookie后可以进行攻击,而Session由于保存在服务器端,相对更加安原创 2021-05-21 10:46:56 · 187 阅读 · 0 评论 -
HTTP&HTTPS工作原理
HTTP和HTTPS的区别HTTP:超文本传输协议,是一个客户端与服务器端请求和应答的标准(TCP),可以使浏览器更高效,信息是明文传输,无状态HTTPS:是以安全为目标的HTTP通道,在HTTP下加入SSL层HTTPS需要CA证书,贵!HTTP协议端口:80 HTTPS端口:443HTTPS协议的工作原理建立一个信息安全通道,来确保数据的传说,确保网站的真实性客户端C 使用https url 访问服务器S ,要求与服务器S 建立SSL链接。服务器S 接收到客户端C请求之后,原创 2021-05-20 20:40:01 · 507 阅读 · 0 评论 -
手写Promise
手写Promise面试中经常涉及的一个问题,下面一步一步完成一下。其中重点是写一个 Promise.all手写一个promise类在写之前我们先确定一下promise本身封装的一些方法promise的常用方法构造函数:excutor执行器函数 resolve函数 reject函数执行器函数Promise内部立即同步回调,这个部分在promise执行顺序的题中经常遇到promise.prototype.then 成功&失败的回调 onResolved函数 onRejected函数p原创 2021-05-20 16:07:21 · 1071 阅读 · 0 评论 -
ES6新语法——Class类
ES6新语法——Class类:ES6提供了更接近面向对象(注意:javascript本质上是基于对象的语言)语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。类中有构造方法:constructor方法,通过new命令生成实例时,会自动调用该方法,如果没有显示定义,会默认添加一个空得constructor。constructor方法默认返回实例对象(即this),但也可以指定返回另外一个对象。类的方法:不需要function关键字可以使用类名.protot原创 2021-05-20 13:16:12 · 193 阅读 · 0 评论 -
call,bind,apply的区别
call,bind,apply的区别简单来说:三个方法的主要作用都是改变this指向。call和apply都是,改变指向之后,立即执行。但是bind仅仅改变this指向,不调用函数call 和 bind直接将第二个参数及其以后的参数作为参数传入函数体内。但是apply需要将所有参数放入一个数组内。但是其实这并不准备call和bind的区别:它和 call 很相似,接受的参数有两部分,第一个参数是是作为函数上下文的对象,第二部分参数是个列表,可以接受多个参数。它们之间的区别有以下两点。原创 2021-05-20 11:27:04 · 894 阅读 · 0 评论 -
JS new一个对象的过程
new一个构造函数的流程得到了实例继承了构造器的构造属性主要有3步:创建一个空对象,将它的引用赋给 this,继承函数的原型。通过 this 将属性和方法添加至这个对象最后返回 this 指向的新对象,也就是实例(如果没有手动返回其他的对象)但是:它只描述了构造器属性是如何塞给实例,没说原型上的属性是如何给实例继承的。改写:以构造器的prototype属性为原型,创建新对象;将this(也就是上一句中的新对象)和调用参数传给构造器,执行;如果构造器没有手动返回对象,则返回第一步创原创 2021-05-19 14:36:23 · 232 阅读 · 0 评论 -
JS继承
JS完成继承的六种方法:和其他功能一样,ECMAScript 实现继承的方式不止一种。这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的。这意味着所有的继承细节并非完全由解释程序处理。作为开发者,你有权决定最适用的继承方式。首先我们定义一个父类:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = function(){原创 2021-05-19 14:04:26 · 824 阅读 · 0 评论 -
前端八股文
前端八股文随着准备面试汇总一些我觉得重要的面试考点。这个是目录,随着复习随着更新文章目录前端八股文JS基础前后端通讯安全工程化REACTVUETypeScriptJS基础原型对象和原型链.作用域、作用域链和执行上下文.数据类型var、const、let 对比es next 最新规范new 的过程this 指向问题bind 实现方式闭包事件循环 【超高频】类型判断手写 Promise异步&同步ES6新语法前后端通讯输入 URL 到页面展示 【超高频】跨原创 2021-05-16 15:04:38 · 14446 阅读 · 6 评论