随笔分类 -  javascript

摘要:最近在使用vue-router的beforeEach钩子时候遇到了一个问题,就是在beforeEach()中设置好判断条件后出现了无限循环的问题代码如下: // isLogined 用来判断用户是否已登录 router.beforeEach((to, from, next) => { if(isLo 阅读全文
posted @ 2021-07-01 15:10 沐子馨 阅读(810) 评论(0) 推荐(0)
摘要:“高亮”功能,个人觉得没必要再解释什么了。作为一名程序猿,天天都会接触高亮:写代码时的语法高亮;使用搜索引擎时的搜索结果高亮。作为一名前端,如果你做过与搜索相关的功能,那么你很有可能就实现过高亮,本文也主要从前端的角度复盘一下“高亮”功能实现的关键知识点。 高亮实现思路 对用户的输入进行分词得到关键 阅读全文
posted @ 2021-06-02 16:25 沐子馨 阅读(2777) 评论(0) 推荐(1)
摘要:<el-form v-on:submit.native.prevent></el-form> 在 form 表单中,加上 v-on:submit.native.prevent 阅读全文
posted @ 2021-06-02 16:15 沐子馨 阅读(424) 评论(0) 推荐(0)
摘要:Chrome 基本架构介绍 整体架构 浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示您选择的网络资源,这里所说的资源一般是指 HTML 文档,也可以是 PDF、图片或其他的类型。大体上,浏览器可以分为五部分: 用户界面,主要负责展示页面中,除了 page 本身的内容,我们可以粗略地理解为打 阅读全文
posted @ 2020-06-27 20:31 沐子馨 阅读(656) 评论(0) 推荐(0)
摘要:前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人。 一、为什么要处理异常? 异常是不可控的,会影响最终的呈现结果,但是我们有充分的理由去做这样的事情。 对于 JS 而言,我们面对的仅仅只是异常,异常的出现不会直接导致 JS 引擎崩溃,最多只会使 阅读全文
posted @ 2019-12-17 11:41 沐子馨 阅读(1199) 评论(1) 推荐(1)
摘要:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 示例 2: 示例 3: 解法一:普通解法 最好理解的一种解法就是先将整数转为字符串 ,然后将字符串分割为数组,只需要循环数组的一半长度进行判断对应元素是否相等即可。 动画描述 解题代码: 解法二:进 阅读全文
posted @ 2019-12-04 16:26 沐子馨 阅读(604) 评论(0) 推荐(0)
摘要:ajax 即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用。本质是在 HTTP 协议的基础上以异步的方式与服务器进行通信. 异步:指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则 阅读全文
posted @ 2019-12-02 17:33 沐子馨 阅读(190) 评论(0) 推荐(0)
摘要:第1篇:如何理解EventLoop——宏任务和微任务篇 宏任务(MacroTask)引入 在 JS 中,大部分的任务都是在主线程上执行,常见的任务有: 渲染事件 用户交互事件 js脚本执行 网络请求、文件读写完成事件等等。 为了让这些事件有条不紊地进行,JS引擎需要对之执行的顺序做一定的安排,V8 阅读全文
posted @ 2019-12-02 15:34 沐子馨 阅读(713) 评论(0) 推荐(0)
摘要:最近看到这样一道有关事件循环的前端面试题: 这道题主要考察的是事件循环中函数执行顺序的问题,其中包括async ,await,setTimeout,Promise函数。下面来说一下本题中涉及到的知识点。 任务队列 首先我们需要明白以下几件事情: JS分为同步任务和异步任务 同步任务都在主线程上执行, 阅读全文
posted @ 2019-11-29 15:35 沐子馨 阅读(190) 评论(0) 推荐(0)
摘要:call 和 apply 的共同点 它们的共同点是,都能够改变函数执行时的上下文,将一个对象的方法交给另一个对象来执行,并且是立即执行的。 为何要改变执行上下文?举一个生活中的小例子:平时没时间做饭的我,周末想给孩子炖个腌笃鲜尝尝。但是没有适合的锅,而我又不想出去买。所以就问邻居借了一个锅来用,这样 阅读全文
posted @ 2019-11-27 18:09 沐子馨 阅读(632) 评论(0) 推荐(0)
摘要:阅读别人代码突然遇到 if 判断中使用赋值表达式时一下子懵了,遂查之: If(a=b)或者if(a=function()),像这种情况,实际上是先赋值后判断,赋值后如果a的值不是false,那么这个条件就成立。 阅读全文
posted @ 2019-11-22 16:36 沐子馨 阅读(1934) 评论(0) 推荐(0)
摘要:背景 设计模式并非是软件开发的专业术语,实际上,“模式”最早诞生于建筑学。 设计模式的定义是:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。通俗一点说,设计模式是在某种场合下对某个问题的一种解决方案。如果再通俗一点说,设计模式就是给面向对象软件开发中的一些好的设计取个名字。 这些“好的 阅读全文
posted @ 2019-11-22 12:06 沐子馨 阅读(245) 评论(0) 推荐(0)
摘要:数组方法概述 concat() 连接两个或多个数组,两边的原始数组都不会变化,返回被连接数组的一个副本。 join() 把数组中所有元素放入一个字符串中,返回字符串。 slice() 从开始到结束(不包括结束)选择数组的一部分浅拷贝到一个新数组。 map() 创建一个新数组并返回,其中新数组的每个元 阅读全文
posted @ 2019-11-15 17:17 沐子馨 阅读(335) 评论(0) 推荐(0)
摘要:先看一道面试题: 打印的结果如下: obj.show 中,第一个函数执行 fn() 结果为 10,第二个 arguments[0]() 执行结果为 undefined。 原因是: 第一个 fn 在执行时,this 指向 window,window,number 为10; 第二个 fn 在执行时,实际 阅读全文
posted @ 2019-10-31 17:33 沐子馨 阅读(1690) 评论(0) 推荐(0)
摘要:使用按位与 & 的方式判断: 位运算 &: 当对一对数位执行位运算 AND (&)时,如果数位均为 1 则返回 1。 单位示例: 四位示例: 阅读全文
posted @ 2019-10-31 11:05 沐子馨 阅读(230) 评论(0) 推荐(0)
摘要:执行顺序如下: setTimeout 的任务会被排到队列尾部,同步任务执行结束后立即执行 setTimeout(即 console.log(1)); 而 promise 一旦建立,其中的任务就会立即执行(即 console.log(0)); 最外层的 console.log(3) 为同步任务,则按顺 阅读全文
posted @ 2019-10-22 14:17 沐子馨 阅读(1351) 评论(0) 推荐(0)
摘要:需求如下: 写出一个符合要求的 getObj(),方法如下: 阅读全文
posted @ 2019-10-22 12:55 沐子馨 阅读(1571) 评论(2) 推荐(0)
摘要:最后一行 console.log 本来期望返回值应该是 ‘biz’,结果返回的却是 undefined; 查询原因后,发现忘记在递归时 return,导致递归的最深层一个函数调用时有值,但最外层的函数的返回值却是 undefined; 最后一次进行递归操作的时候值是返回了,但只返回到了递归自己调用的 阅读全文
posted @ 2019-10-22 11:11 沐子馨 阅读(1992) 评论(0) 推荐(1)
摘要:一、小谈 requestAnimationFrame: 说起 requestAnimationFrame,我们先看幅图: 相当一部分的浏览器的显示频率是16.7ms, 就是上图第一行的节奏,表现就是“我和你一步两步三步四步往前走……”。如果我们火力搞猛一点,例如搞个10ms setTimeout,就 阅读全文
posted @ 2019-10-18 18:13 沐子馨 阅读(470) 评论(0) 推荐(0)
摘要:1. 关于URL、encodeURI 及 encodeURIComponent: URI: Uniform Resource Identifiers,通用资源标识符 Global 对象的 encodeURI() 和 encodeURIComponent() 方法可以对 URI 进行编码,以便发送给浏 阅读全文
posted @ 2019-10-12 16:12 沐子馨 阅读(575) 评论(0) 推荐(0)