该园用来记录个人的学习内容,有些杂乱,谅解~嘿嘿~

Chloe

自学前端的小菜鸟一枚呀~
记录学习的知识

随笔分类 -  前端面试题

摘要:**死锁:**两个或两个以上线程在执行过程中,由于竞争资源而造成的阻塞问题,若无外力作用下,他们将无法推荐下去,此时系统处于死锁状态。 死锁的危害: 导致程序得不到正确的运行结果(因为程序产生死锁,发生阻塞,不会继续向下执行); 浪费资源:产生死锁,最少有两个线程会发生阻塞; 产生新的死锁:产生死锁 阅读全文
posted @ 2022-09-16 15:40 Chloe56 阅读(60) 评论(0) 推荐(0) 编辑
摘要:进程: 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 线程: 线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分配的 阅读全文
posted @ 2022-09-16 11:19 Chloe56 阅读(64) 评论(0) 推荐(0) 编辑
摘要:一、定义 Decorator,即装饰器,从名字上很容易让我们联想到装饰者模式: 简单来讲,装饰者模式就是一种在不改变原类和使用继承的情况下,动态地扩展对象功能的设计理论 ES6中Decorator功能亦如此,其本质也不是什么高大上的结构,就是一个普通的函数,用于扩展类属性和类方法: 代码可读性变强了 阅读全文
posted @ 2022-08-01 14:52 Chloe56 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一、定义 模块: 是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体) 原因: 变量和方法不容易维护,容易污染全局作用域 加载资源的方式通过script标签从上到下 依赖的环境主观逻辑偏重,代码较多就会比较复杂 大型项目资源难以维护,特别是多人合作的情况下,资源的引入会 阅读全文
posted @ 2022-08-01 14:45 Chloe56 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、定义 用于定义基本操作的自定义行为 二、本质 修改的是程序默认形为,就形同于在编程语言层面上做修改,属于元编程(meta programming) Proxy 亦是如此,用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等) 三、用法 Proxy为构造函数, 阅读全文
posted @ 2022-08-01 14:41 Chloe56 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、定义 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同 执行 Generator 函数会返回一个遍历器对象,可以依次遍历 Generator 函数内部的每一个状态 二、特征 function关键字与函数名之间有一个星号 函数体内部使用yield表达式,定 阅读全文
posted @ 2022-08-01 14:36 Chloe56 阅读(74) 评论(0) 推荐(0) 编辑
摘要:一、定义 Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大 状态:pending(进行中)、fulfilled(已成功)、rejected(已失败) 二、优点 链式操作减低了编码难度 代码可读性明显增强 三、特点 对象的状态不受外界影响,只有异步操作 阅读全文
posted @ 2022-08-01 14:31 Chloe56 阅读(147) 评论(0) 推荐(0) 编辑
摘要:一、定义 Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构 什么是集合和字典: 集合:是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合 字典:是一些元素的集合。每个元素有一个称作key 的域,不同元素的key 各不相同 区别: 共同点:集合、字典都可以存储不重复 阅读全文
posted @ 2022-08-01 14:20 Chloe56 阅读(129) 评论(0) 推荐(0) 编辑
摘要:一、参数 es6允许为函数的参数设置默认值: 函数的形参是默认声明的,不能使用let或 const再次声明 参数默认值可以与解构赋值的默认值结合起来使用 当参数为对象的时候才能进行解构,如果没有提供参数的时候,变量x和y就不会生成,从而报错,这里设置默认值避免 参数默认值应该是函数的尾参数,如果不是 阅读全文
posted @ 2022-08-01 14:00 Chloe56 阅读(93) 评论(0) 推荐(0) 编辑
摘要:一、属性的简写 es6中,当对象键名与对应值名相等的时候,可以进行简写。在函数内作为返回值,也会方便很多 注意:简写的对象方法不能用做构造函数,否则会报错 二、属性名表达式 es6允许字面量定义对象时,将表达式放在括号内,表达式还可以用于定义方法名 注意:属性名表达式与简洁表示法不能同时使用,会报错 阅读全文
posted @ 2022-08-01 11:26 Chloe56 阅读(147) 评论(0) 推荐(0) 编辑
摘要:二、数组新增拓展 扩展运算符的应用 es6通过扩展运算符...,好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列(主要用于函数调用的时候,将一个数组变为参数序列;可以将某些数据结构转为数组,能够更简单实现数组复制,数组的合并也更为简洁) 扩展运算符可以与解构赋值结合起来,用于生成数组,如 阅读全文
posted @ 2022-08-01 10:17 Chloe56 阅读(93) 评论(0) 推荐(0) 编辑
摘要:var let const var 1.用var声明的变量既是全局变量也是顶层变量(在浏览器环境顶层对象指的是window对象,在node指的是global对象) 2.使用var生命的变量存在变量提升的情况 3.使用var能够对一个变量进行多次声明,后声明的变量会覆盖前面的变量声明 4.在函数中使用 阅读全文
posted @ 2022-08-01 09:52 Chloe56 阅读(65) 评论(0) 推荐(0) 编辑
摘要:尽量减少HTTP请求次数 减少DNS查找次数即减少页面中的主机名 避免跳转 可缓存的ajax 推迟加载内容 预加载 减少DOM元素数量 根据域名划分页面内容 使iframe的数量最小 避免404 使用内容分发网络 为文件头指定Expires或Cache-Control Gzip压缩文件内容 配置ET 阅读全文
posted @ 2022-07-28 11:19 Chloe56 阅读(30) 评论(0) 推荐(0) 编辑
摘要:内存泄漏是指不再用到的内存,没有及时释放。既不能使用,又不能回收。 导致内存泄漏的几种常见情况: 1.意外形成全局变量 解决方法:加上 ‘use strict’ 启用严格模式来避免这类问题, 严格模式会阻止你创建意外的全局变量. 2.闭包 解决方法:在函数外部定义事件处理函数,解除闭包。或在闭包中, 阅读全文
posted @ 2022-05-05 08:38 Chloe56 阅读(373) 评论(0) 推荐(0) 编辑
摘要:回调函数(callback) setTimeout(() => { // callback 函数体 }, 1000) 优点:解决了同步的问题(整体任务执行时长); 缺点:回调地狱,不能用try catch捕获错误,不能return; 回调地狱的根本问题在于: 缺乏顺序性: 回调地狱导致的调试困难,和 阅读全文
posted @ 2022-05-05 08:31 Chloe56 阅读(84) 评论(0) 推荐(0) 编辑
摘要:**setTimeout:**setTimeout的回调函数放到宏任务队列里,等到执行栈清空以后 执行; **Promise:**Promise本身是同步的立即执行函数,当在executor中执行resolve或者reject的时候,是异步操作,会先执行then/catch等,当主栈完成时,才会去调 阅读全文
posted @ 2022-05-03 14:09 Chloe56 阅读(324) 评论(0) 推荐(0) 编辑
摘要:什么是防抖和节流? 防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的事件到来之前,又一次触发了事件,就重新开始延时。(简单概括:每次触发时都会取消之前的延时调用。) 节流(thorttle):当持续触发事件时,保证一定时间段内只调用一个事件 阅读全文
posted @ 2022-05-03 14:00 Chloe56 阅读(410) 评论(0) 推荐(0) 编辑
摘要:伪类 伪类用于当已有元素处于某种状态时,为其添加对应的样式,这个状态是根据用户行为变化而变化的。比如说:hover。它只有处于dom树无法描述的状态才能为元素添加样式,所以称为伪类。 伪元素 伪元素用于创建一些原本不在文档树中的元素,并为其添加样式,比如说:before。虽然用户可以看到这些内容,但 阅读全文
posted @ 2022-05-02 16:20 Chloe56 阅读(150) 评论(0) 推荐(0) 编辑
摘要:rem是CSS3新增的相对单位长度,是指相对于根元素html的font-size计算值的大小。 默认根元素的font-size都是16px的,如果想要设置12px的字体大小 也就是12px/16px=0.75rem。 由于px是相对固定单位,字号大小直接被定死,无法随着浏览器进行缩放; rem直接相 阅读全文
posted @ 2022-04-28 15:31 Chloe56 阅读(285) 评论(0) 推荐(0) 编辑
摘要:opacity:0 不占空间,不能点击,会引起回流,子元素不影响; visibility:hidden 占据空间,不能点击,引起重绘,子元素可设置visible进行显示; display:none 占据空间,可以点击,引起重绘,子元素不影响。 阅读全文
posted @ 2022-04-28 15:26 Chloe56 阅读(82) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示