05 2024 档案

摘要:一、是什么 单例模式(Singleton Pattern):创建型模式,提供了一种创建对象的最佳方式,这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建 在应用程序运行期间,单例模式只会在全局作用域下创建一次实例对象,让所有需要调用的地方都共享这一单例对象,如下图所示: 阅读全文
posted @ 2024-05-31 18:48 林恒 阅读(79) 评论(0) 推荐(0) 编辑
摘要:一、场景复现 一个经典的面试题 0.1 + 0.2 0.3 // false 为什么是false呢? 先看下面这个比喻 比如一个数 1÷3=0.33333333...... 3会一直无限循环,数学可以表示,但是计算机要存储,方便下次取出来再使用,但0.333333...... 这个数无限循环,再大的 阅读全文
posted @ 2024-05-30 18:16 林恒 阅读(782) 评论(0) 推荐(0) 编辑
摘要:一、 是什么 Node作为一门服务端语言,性能方面尤为重要,其衡量指标一般有如下: CPU 内存 I/O 网络 CPU 主要分成了两部分: CPU负载:在某个时间段内,占用以及等待CPU的进程总数 CPU使用率:CPU时间占用状况,等于 1 - 空闲CPU时间(idle time) / CPU总时间 阅读全文
posted @ 2024-05-29 18:36 林恒 阅读(104) 评论(0) 推荐(0) 编辑
摘要:一、递归 递归(英语:Recursion) 在数学与计算机科学中,是指在函数的定义中使用函数自身的方法 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数 其核心思想是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解 一般来说,递归需要有边界条件、 阅读全文
posted @ 2024-05-28 18:08 林恒 阅读(113) 评论(0) 推荐(0) 编辑
摘要:一、用途 可视区域即我们浏览网页的设备肉眼可见的区域,如下图 在日常开发中,我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值(例如 100 px),从而实现一些常用的功能,例如: 图片的懒加载 列表的无限滚动 计算广告元素的曝光情况 可点击链接的预加载 二、实现方式 判断一个元素是否 阅读全文
posted @ 2024-05-27 17:35 林恒 阅读(437) 评论(0) 推荐(1) 编辑
摘要:一、是什么 HMR全称 Hot Module Replacement,可以理解为模块热替换,指在应用程序运行过程中,替换、添加、删除模块,而无需重新刷新整个应用 例如,我们在应用运行过程中修改了某个模块,通过自动刷新会导致整个应用的整体刷新,那页面中的状态信息都会丢失 如果使用的是 HMR,就可以实 阅读全文
posted @ 2024-05-24 19:07 林恒 阅读(69) 评论(0) 推荐(0) 编辑
摘要:一、区别 前面两节我们有提到Loader与Plugin对应的概念,先来回顾下 loader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定的文件中 plugin 赋予了 webpack 各种灵活的功能,例如打包优化、资源管理、环境变量注入等,目的是解决 阅读全文
posted @ 2024-05-23 18:49 林恒 阅读(90) 评论(0) 推荐(0) 编辑
摘要:一、前言 下拉刷新和上拉加载这两种交互方式通常出现在移动端中 本质上等同于PC网页中的分页,只是交互形式不同 开源社区也有很多优秀的解决方案,如iscroll、better-scroll、pulltorefresh.js库等等 这些第三方库使用起来非常便捷 我们通过原生的方式实现一次上拉加载,下拉刷 阅读全文
posted @ 2024-05-22 18:30 林恒 阅读(312) 评论(0) 推荐(0) 编辑
摘要:一、是什么 Web攻击(WebAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为 如植入恶意代码,修改网站权限,获取网站用户隐私信息等等 Web应用程序的安全性是任何基于Web业务的重要组成部分 确保Web应用程序安全十分重要,即使是代码中很小的 bug 也有可能导致隐私信息被泄露 站 阅读全文
posted @ 2024-05-21 17:38 林恒 阅读(158) 评论(0) 推荐(0) 编辑
摘要:一、是什么 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一 SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统 SSO 一般都需要一个独立的认证中心(passport),子系统的登录均得通过passport,子系统 阅读全文
posted @ 2024-05-20 17:58 林恒 阅读(204) 评论(0) 推荐(1) 编辑
摘要:一、是什么 事件代理,俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素 前面讲到,事件流的都会经过三个阶段: 捕获阶段 -> 目标阶段 -> 冒泡阶段,而事件委托就是在冒泡阶段完成 事件委托,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真 阅读全文
posted @ 2024-05-18 17:42 林恒 阅读(165) 评论(0) 推荐(0) 编辑
摘要:一、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 由于DOM是一个树结构,如果在父子节点绑定事件时候,当触发子节点的时候,就存在一个顺序问题,这就涉及到了事件流的概念 事件流都会经 阅读全文
posted @ 2024-05-17 19:04 林恒 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一、执行上下文 简单的来说,执行上下文是一种对Javascript代码执行环境的抽象概念,也就是说只要有Javascript代码运行,那么它就一定是运行在执行上下文中 执行上下文的类型分为三种: 全局执行上下文:只有一个,浏览器中的全局对象就是 window对象,this 指向这个全局对象 函数执行 阅读全文
posted @ 2024-05-16 17:05 林恒 阅读(36) 评论(0) 推荐(0) 编辑
摘要:一、是什么 webpack proxy,即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制) 想要实现代理首先需要一个中间服务器,webpack中提供服务器的工具为webpack-dev-server 阅读全文
posted @ 2024-05-15 18:03 林恒 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一、错误类型 任何一个框架,对于错误的处理都是一种必备的能力 在Vue 中,则是定义了一套对应的错误处理规则给到使用者,且在源代码级别,对部分必要的过程做了一定的错误处理。 主要的错误来源包括: 后端接口错误 代码中本身逻辑错误 二、如何处理 后端接口错误 通过axios的interceptor实现 阅读全文
posted @ 2024-05-14 19:23 林恒 阅读(104) 评论(0) 推荐(0) 编辑
摘要:一、是什么 权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源 而前端权限归根结底是请求的发起权,请求的发起可能有下面两种形式触发 页面加载触发 页面上的按钮点击触发 总的来说,所有的请求发起都触发自前端路由或视图 所以我们可以从这两方面入手,对触发权限的源头进行控制,最 阅读全文
posted @ 2024-05-13 18:27 林恒 阅读(222) 评论(0) 推荐(0) 编辑
摘要:一、axios是什么 axios 是一个轻量的 HTTP客户端 基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。自Vue2.0起,尤大宣布取消对 vue-resource 的官方推荐,转而推荐 axios。现在 阅读全文
posted @ 2024-05-11 18:24 林恒 阅读(156) 评论(0) 推荐(0) 编辑
摘要:这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一、背景 在前端JSON.stringfy是我们常用的一个方法,可以将一个对象序列化。 例如将如下对象序列化 const person = { name: 'kalory', age:18} JSON.stringfy(person) / 阅读全文
posted @ 2024-05-07 18:10 林恒 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一、是什么 当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box) 一个盒子由四个部分组成:content、padding、border、margin content,即 阅读全文
posted @ 2024-05-06 17:42 林恒 阅读(122) 评论(0) 推荐(0) 编辑