一、是什么 事件代理,俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素 前面讲到,事件流的都会经过三个阶段:捕获阶段->目标阶段->冒泡阶段,而事件委托就是在冒泡阶段完成 事件委托,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,而不是目标元素 当事件响应到目标元素上时,会通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数 下面举个例子: 比如一个宿舍的同学同时快递到了,一种笨方法就是他们一个个去领取 较优方法就是把这件事情委托给宿舍长,让一个人出去拿好所有快递,然后再根...

  uCg8iP04yNRs   2小时前   4   0   0 JavaScript

一、axios是什么 axios 是一个轻量的 HTTP客户端 基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。自Vue2.0起,尤大宣布取消对 vue-resource 的官方推荐,转而推荐 axios。现在 axios 已经成为大部分 Vue 开发者的首选 特性 从浏览器中创建 XMLHttpRequests 从 nod...

  uCg8iP04yNRs   24小时前   6   0   0 Vue

一、是什么 权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源 而前端权限归根结底是请求的发起权,请求的发起可能有下面两种形式触发 页面加载触发 页面上的按钮点击触发 总的来说,所有的请求发起都触发自前端路由或视图 所以我们可以从这两方面入手,对触发权限的源头进行控制,最终要实现的目标是: 路由方面,用户登录后只能看到自己有权访问的导航菜单,也只能访问自己有权访问的路由地址,否则将跳转 4xx 提示页 视图方面,用户只能看到自己有权浏览的内容和有权操作的控件 最后再加上请求控制作为最后一道防线,路由可能配置失误,按钮可能忘了加权限,这种时...

  uCg8iP04yNRs   24小时前   6   0   0 Vue

一、错误类型 任何一个框架,对于错误的处理都是一种必备的能力 在Vue 中,则是定义了一套对应的错误处理规则给到使用者,且在源代码级别,对部分必要的过程做了一定的错误处理。 主要的错误来源包括: 后端接口错误 代码中本身逻辑错误 二、如何处理 后端接口错误 通过axios的interceptor实现网络请求的response先进行一层拦截 apiClient.interceptors.response.use( response=>{ returnresponse; }, error=>{ if(error.response.status401){ router....

  uCg8iP04yNRs   24小时前   8   0   0 Vue

一、是什么 webpackproxy,即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制) 想要实现代理首先需要一个中间服务器,webpack中提供服务器的工具为webpack-dev-server webpack-dev-server webpack-dev-server是 webpack 官方推出的一款开发工具,将自动编译和自动刷新浏览器等一系列对开发友好的功能全部集成在了一起 目的是为了提高开发者日常的开发效率,只适用在开发阶段 关于配置方面,在webpack配置对象...

  uCg8iP04yNRs   24小时前   6   0   0 Vue

一、执行上下文 简单的来说,执行上下文是一种对Javascript代码执行环境的抽象概念,也就是说只要有Javascript代码运行,那么它就一定是运行在执行上下文中 执行上下文的类型分为三种: 全局执行上下文:只有一个,浏览器中的全局对象就是 window对象,this 指向这个全局对象 函数执行上下文:存在无数个,只有在函数被调用的时候才会被创建,每次调用函数都会创建一个新的执行上下文 Eval函数执行上下文:指的是运行在 eval 函数中的代码,很少用而且不建议使用 下面给出全局上下文和函数上下文的例子: 紫色框住的部分为全局上下文,蓝色和...

  uCg8iP04yNRs   24小时前   5   0   0 JavaScript

一、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性,常见的有加载事件、鼠标事件、自定义事件等 由于DOM是一个树结构,如果在父子节点绑定事件时候,当触发子节点的时候,就存在一个顺序问题,这就涉及到了事件流的概念 事件流都会经历三个阶段: 事件捕获阶段(capturephase) 处于目标阶段(targetphase) 事件冒泡阶段(bubblingphase) 事件冒泡是一种从下往上的传播方式,由最具体的元素(触发节点)然后逐渐向上传播到最不具体的那个节点,也就是DOM中最高层的父节点 <!DOCTYPE...

  uCg8iP04yNRs   24小时前   6   0   0 JavaScript

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一、背景 在前端JSON.stringfy是我们常用的一个方法,可以将一个对象序列化。例如将如下对象序列化 constperson={name:'kalory',age:18} JSON.stringfy(person) //结果 '{"name":"kalory","age":18}' 将一个数组序列化 constarr=[1,2,3,4,5] //结果 '[1,2,3,4,5]' constpersons=[{name:'kalory',age:18},{name:'jack',age:48}] //结果 '[{"n...

  uCg8iP04yNRs   11天前   19   0   0 Vue

一、是什么 当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的CSS基础框盒模型(CSSbasicboxmodel),将所有元素表示为一个个矩形的盒子(box) 一个盒子由四个部分组成:content、padding、border、margin content,即实际内容,显示文本和图像 boreder,即边框,围绕元素内容的内边距的一条或多条线,由粗细、样式、颜色三部分组成 padding,即内边距,清除内容周围的区域,内边距是透明的,取值不能为负,受盒子的background属性影响 margin,即外边距,在元素外创建额外的空白,空白通常指不能放其他元素的区...

  uCg8iP04yNRs   11天前   27   0   0 Html/Css

一、介绍 Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大 在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码 doSomething(function(result){ doSomethingElse(result,function(newResult){ doThirdThing(newResult,function(finalResult){ console.log('得到最终结果:'+finalResult); },failureCallback); },failureCallback); },failureCall...

  uCg8iP04yNRs   19天前   21   0   0 Vue

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定举个栗子  当用户填写表单时,View的状态就被更新了,如果此时可以自动更新Model的状态,那就相当于我们把Model和View做了双向绑定关系图如下 二、双向绑定的原理是什么 我们都知道 Vue 是数据双向绑定的框架,双向绑定由三个重要部分构成 数据层(Model):应用的数据及...

  uCg8iP04yNRs   20天前   29   0   0 Vue

一、贪心算法 贪心算法,又称贪婪算法,是算法设计中的一种思想 其期待每一个阶段都是局部最优的选择,从而达到全局最优,但是结果并不一定是最优的 举个零钱兑换的例子,如果你有1元、2元、5元的钱币数张,用于兑换一定的金额,但是要求兑换的钱币张数最少 如果现在你要兑换11元,按照贪心算法的思想,先选择面额最大的5元钱币进行兑换,那么就得到11=5+5+1的选择,这种情况是最优的 但是如果你手上钱币的面额为1、3、4,想要兑换6元,按照贪心算法的思路,我们会6=4+1+1这样选择,这种情况结果就不是最优的选择 从上面例子可以看到,贪心算法存在一些弊端,使用到贪心算法的场景,都会存在一个特性: 一旦一...

  uCg8iP04yNRs   21天前   18   0   0 算法与数据结构

一、分而治之 分而治之是算法设计中的一种方法,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并 关于分而治之的实现,都会经历三个步骤: 分解:将原问题分解为若干个规模较小,相对独立,与原问题形式相同的子问题 解决:若子问题规模较小且易于解决时,则直接解。否则,递归地解决各子问题 合并:将各子问题的解合并为原问题的解 实际上,关于分而治之的思想,我们在前面已经使用,例如归并排序的实现,同样经历了实现分而治之的三个步骤: 分解:把数组从中间一分为二 解决:递归地对两个子数组进行归并排序 合并:将两个字数组合并称有序数组 ...

  uCg8iP04yNRs   23天前   22   0   0 算法与数据结构

  一、是什么 在计算机科学中,二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法 想要应用二分查找法,则这一堆数应有如下特性: 存储在数组中 有序排序 搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束 如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较 如果在某一步骤数组为空,则代表找不到 这种搜索算法每一次比较都使搜索范围缩小一半 如下图所示:    相比普通的顺序查找,除了数据量很少的情况下,二分查找会比顺序查找更快,区别如下所示: ...

  uCg8iP04yNRs   24天前   16   0   0 算法与数据结构

一、是什么 归并排序(MergeSort)是建立归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用 将已有序的子序列合并,得到完全有序的序列,即先使每个子序列有序,再使子序列段间有序 例如对于含有 n 个记录的无序表,首先默认表中每个记录各为一个有序表(只不过表的长度都为1) 然后进行两两合并,使 n 个有序表变为n/2 个长度为2或者1的有序表(例如4个小有序表合并为2个大的有序表) 通过不断地进行两两合并,直到得到一个长度为 n 的有序表为止 例如对无序表{49,38,65,97,76,13,...

  uCg8iP04yNRs   25天前   24   0   0 算法与数据结构

一、是什么 选择排序(Selectionsort)是一种简单直观的排序算法,无论什么数据进去都是 O(n²)的时间复杂度,所以用到它的时候,数据规模越小越好 其基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置 然后再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾 以此类推,直到所有元素均排序完毕 举个例子,一个数组为56、12、80、91、29,其排序过程如下: 第一次遍历时,从下标为1的位置即56开始,找出关键字值最小的记录12,同下标为0的关键字56交换位置。此时数组为12、56、80、91、20 第二次...

  uCg8iP04yNRs   26天前   12   0   0 算法与数据结构

一、是什么 排序是程序开发中非常常见的操作,对一组任意的数据元素经过排序操作后,就可以把他们变成一组一定规则排序的有序序列 排序算法属于算法中的一种,而且是覆盖范围极小的一种,彻底掌握排序算法对程序开发是有很大的帮助的 对与排序算法的好坏衡量,主要是从时间复杂度、空间复杂度、稳定性 时间复杂度、空间复杂度前面已经讲过,这里主要看看稳定性的定义 稳定性指的是假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变 即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不...

  uCg8iP04yNRs   29天前   20   0   0 算法与数据结构

一、是什么 在计算机科学中,图是一种抽象的数据类型,在图中的数据元素通常称为结点,V是所有顶点的集合,E是所有边的集合 如果两个顶点v,w,只能由v向w,而不能由w向v,那么我们就把这种情况叫做一个从 v 到 w 的有向边。v也被称做初始点,w也被称为终点。这种图就被称做有向图 如果v和w是没有顺序的,从v到达w和从w到达v是完全相同的,这种图就被称为无向图 图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系 常见表达图的方式有如下: 邻接矩阵 邻接表 邻接矩阵 通过使用一个二维数组G[N]...

  uCg8iP04yNRs   30天前   16   0   0 算法与数据结构

一、是什么 堆(Heap)是计算机科学中一类特殊的数据结构的统称 堆通常是一个可以被看做一棵完全二叉树的数组对象,如下图: 总是满足下列性质: 堆中某个结点的值总是不大于或不小于其父结点的值 堆总是一棵完全二叉树 堆又可以分成最大堆和最小堆: 最大堆:每个根结点,都有根结点的值大于两个孩子结点的值 最小堆:每个根结点,都有根结点的值小于孩子结点的值 二、操作 堆的元素存储方式,按照完全二叉树的顺序存储方式存储在一个一维数组中,如下图: 用一维数组存储则如下: [0,1,2,3,4,5,6,7,8] 根据完全二叉树的特性,可以得到如下特性: 数组零坐标代码的是堆顶元素 一个节...

  uCg8iP04yNRs   2024年04月18日   20   0   0 算法与数据结构

一、是什么 在计算机领域,树形数据结构是一类重要的非线性数据结构,可以表示数据之间一对多的关系。以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构 二叉树满足以下两个条件: 本身是有序树 树中包含的各个结点的不能超过2,即只能是0、1或者2 如下图,左侧的为二叉树,而右侧的因为头结点的子结点超过2,因此不属于二叉树: 同时,二叉树可以继续进行分类,分成了满二叉树和完成二叉树: 满二叉树:如果二叉树中除了叶子结点,每个结点的度都为2   完成二叉树:如果二叉树中除去最后一层节点为满二叉树,且最后一层的结点依次从左到右分布 二、操作 关于二叉树的遍历,常...

  uCg8iP04yNRs   2024年04月17日   25   0   0 算法与数据结构
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~