自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 vue computed与methods区别

区别 标准而浅显的回答 在使用时,computed当做属性使用,而methods则当做方法调用 computed可以具有getter和setter,因此可以赋值,而methods不行 computed无法接收多个参数,而methods可以 computed具有缓存,而methods没有 methods vue对methods的处理比较简单,只需要遍历methods配置中的每个属性,将其对应的函数使用bind绑定当前组件实例后复制其引用到组件实例中即可 computed 而vue对computed的处

2021-12-30 21:50:46 312

原创 Vue响应式原理

Vue响应式原理 什么是响应式? 响应式数据的最终目标,是当对象本身或对象属性发生变化时,将会运行一些函数,最常见的就是render函数。 在具体实现上,vue用到了几个核心部件: Observer Dep Watcher Scheduler Observer Observer要实现的目标非常简单,就是把一个普通的对象转换为响应式的对象 为了实现这一点,Observer把对象的每个属性通过Object.defineProperty转换为带有getter和setter的属性,这样一来,当访问或设置属性时,

2021-12-30 19:29:02 217

原创 2021-09-02

这里写自定义目录标题Charles代理 Charles代理 手机WiFi设置代理,输入IP,端口号 在charles中新弹出的框里点击alllow 然后网盘扫码访问development.baidu.com,charles中皆可以看到接口

2021-09-02 14:49:29 164

原创 webpack

webpack 为什么出现webpack? 浏览器端模块化带来的问题 效率问题:精细的模块划分带来了更多的JS文件,更多的JS文件带来了更多的请求,降低了页面访问效率 兼容性问题:浏览器目前仅支持ES6的模块化标准,并且还存在兼容性问题 工具问题:浏览器不支持npm下载的第三方包(axios的导出方式为commonjs) 当开发一个具有规模的程序,你将遇到非常多的非业务问题,这些问题包括:执行效率、兼容性、代码的可维护性可扩展性、团队协作、测试等等等等,我们将这些问题称之为工程问题。工程问题与业务无关,

2021-08-15 22:28:22 220

原创 “发得快“踩坑笔记-为什么过渡动画卡顿了?

过渡动画卡顿的解决方案 遇到这个问题的过程 发得快项目在优化时,有个优化是在切换菜单时,让菜单有一个过渡动画,但是在切换到订单时,过渡动画有一个明显的卡顿,要做的就是解决这个卡顿。 代码如下:(代码为demo,公司代码不可泄露) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content

2021-01-17 19:33:16 4812 18

原创 小题大做-判断回文链表

题干 编写一个函数,检查输入的链表是否是回文的。 难度为easy,但是感觉这个小题挺有意思,值的写写 深拷贝并反转链表 首先深拷贝链表(这里踩了一个坑,Object.assign({}, head)只能深拷贝head,但是head.next并没有被深拷贝,所以这个不可以;而JSON.parse(JSON.stringfy(head))可以完美深拷贝,但是当数据量过于庞大的时候,会执行栈溢出) 反转深拷贝以后的链表 比较两个链表 var isPalindrome1 = function(head) {

2020-09-01 15:46:32 234

原创 一篇文章读懂前端缓存

HTTP缓存 前端缓存 前端缓存可分为两大类:http缓存和浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自行去查阅。下面这张图是前端缓存的一个大致知识点: http缓存 http缓存指的是: 当客户端向服务器请求资源时,会先抵达浏览器缓存,如果浏览器有“要请求资源”的副本,就可以直接从浏览器缓存中提取而不是从原始服务器中提取这个资源。 常见的http缓存只能缓存get请求响应的资源,对于其他类型的响应则无能为力,所以后续说的请求缓存都是指GET请求。 http缓存都是从第二次请求开始

2020-08-16 11:45:40 806

原创 小题大做-删除排序链表中的重复元素

这是我7月12号写的,上周没偷懒,只是忘记发布了!!! 题干 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 刚看到这个题的时候,没有注意到该链表是排序链表,走了一些弯路,第一次提交如下 主副指针 首先声明两个指针,一个主指针,一个副指针,移动副指针,看主指针后面有没有与主指针重复的值,有的话,就跳过这个主指针,没有的话,将主指针的值放在新的链表的结尾,主指针移动时,记录每一次主指针的值,如果遇到已经有过的值,直接跳过 时间复杂度O(n^2)空间复杂度O(n) var

2020-07-20 15:31:56 222

原创 webpack配置

webpack 名词解释 何为node? node是一个服务器端语言,用JavaScript语法,在异步处理编程和并发编程方面表现优秀非常适合做api开发 何为npm? npm是node的包管理器,和node同时安装,用来下载别人的包, 何为git? 分布式版本管理工具/依赖管理工具 步骤 1.初始化npm 在文件夹下右键git bush here npm init 确认初始化信息 出现package.json则为初始化成功 2.换源 npm config set registry https://regi

2020-07-05 22:49:48 682

原创 小题大做-最长回文子串

写在前面 李小龙的妻子琳达在《我眼中的布鲁斯》回忆里写道,她问丈夫:“作为世界第一,是不是不畏惧所有的对手?”。 李小龙否认:“我不是世界第一,我也有害怕的对手。” 妻子听到十分惊讶,追问:“什么样的对手让你害怕?” 李小龙说“我不怕会一万种招式的人,我只怕把一种招式练了一万遍的对手。” 对于算法题,也是如此,我们追求的不是把一种题解出来,而是找到这道题所有的解法,所以推出小题大做系列,意在深度剖析算法题,做到将一种招式练一万遍。 希望可以通过这个系列的博客,锻炼自己使用多种方式解决遇到的问题的能力。 题干

2020-06-27 23:44:47 376 1

原创 图解HTTPS基本原理

一图胜千言 开局一张图,内容全靠编(手动狗头.jpg)。本文不打算长篇大论去讲解各种HTTPS相关的理论知识,只是综合网上各位大佬们的HTTPS详解,作一个简短的要点总结。水平有限,如有疏漏之处欢迎指正。 什么是HTTPS? HTTPS = HTTP + SSL/TLS,是HTTP协议的安全版。 SSL/TLS又是什么? SSL的全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。SSL最新的版本是3.0。 TLS的全称是Transport

2020-06-14 23:13:11 902

原创 你了解es6的符号吗?

符号概述 符号是什么? 符号是ES6新增的一个数据类型,它没有字面量,只能通过使用函数 Symbol(符号描述)来创建 符号有什么特点? 没有字面量 使用 typeof 得到的类型是 symbol 每次调用 Symbol 函数得到的符号永远不相等,无论符号名是否相同 符号可以作为对象的属性名存在,这种属性称之为符号属性 开发者可以通过精心的设计,让这些属性无法通过常规方式被外界访问 符号属性是不能枚举的,因此在 for-in 循环中无法读取到符号属性,Object.keys 方法也无法读取到符号属性 O

2020-05-10 23:25:18 326

原创 属性描述符与Proxy的区别&Vue3.0为何改用Proxy

属性描述符 什么是属性描述符? 属性描述符就是一个属性除了属性名与属性值之外的其他相关信息 通过Object.getOwnPropertyDescriptor(对象, 属性名)可以得到一个对象的某个属性的属性描述符 let obj = { a: 1 } console.log(Object.getOwnPropertyDescriptor(obj, 'a')); // { // v...

2020-04-19 02:21:43 2507 6

原创 什么是迭代器,生成器?有什么应用?

理解迭代器的概念 什么是迭代? 从一个数据集合中按照一定的顺序,不断取出数据的过程 迭代和遍历的区别? 迭代强调的是依次取数据,并不保证取多少,也不保证把所有的数据取完 遍历强调的是要把整个数据依次全部取出 例:在生活中,我们经常听到一个词叫产品迭代,一个产品有可能做到一半,公司倒闭导致产品无法继续迭代 什么是迭代器? 对迭代过程的封装,在不同的语言中有不同的表现形式,通常为对象 迭代模式 一种设...

2020-04-12 18:29:34 724

原创 终极异步处理方案async、await,相比传统异步处理方案有什么优势?

写在前面 声明 首先,这篇博客较为主观,仅代表个人观点,如果您有不同意见或者发现本文有错误,您可以留言或者加我的微信15011177648 需要的基础技能 async、await是es2017(es8)的新功能,也是Promise的语法糖,想学习async、await的话需要先了解Promise的使用 传送门:https://www.cnblogs.com/whybxy/p/7645578.htm...

2020-04-06 23:35:19 629

原创 如何从0到1开发自己的mvvm框架

项目地址 Sth框架源码地址 https://github.com/shangth/MyVue 基于Sth的toDoList地址 https://shangth.github.io/MyVue/todoList.html 写在前面 此框架是一个自己开发的mvvm框架,大量参考了vue源码,实现了虚拟dom,虚拟节点,数据代理,计算属性,双向绑定,数据改动局部重新渲染视图,v-for,v-bind(...

2020-03-28 15:44:59 4415

原创 ES6-Promise 原理分析

promise是什么 以下来自百度 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。 Promise对象有以下两个特点。 (1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:P...

2020-03-23 00:16:06 1087

原创 前端基础算法

排序 公共方法 交换arr里面i1索引与i2索引的数据的位置 function exchange(arr, i1, i2) { let tmp = arr[i1]; arr[i1] = arr[i2]; arr[i2] = tmp; } 选择排序 选择排序就是通过不断遍历数组未排序部分找到最小值,将其放在未排序部分的最前面 function selectSort(arr) { let l...

2020-03-18 23:37:50 816

原创 浅析http协议

服务器是什么 服务器在不同的语境下可能表达了不同的含义: 一台独立的计算机 一个应用程序 绝大部分使用,作为开发者,通常把服务器看作是一个应用程序 无论它是哪个概念,它都至少具有下面的特点: 能够通过网络,被其他程序访问 能够提供一些服务 如果一个服务器(应用程序),它仅仅为一个浏览器访问网站服务,我们称它为web服务器 实际上,目前的web服务器和游戏服务器界限已经非常模糊,可以认为,...

2020-03-02 22:59:27 425

原创 git命令

git秘钥 本地环境配置与SSH配置 SSH ssh-Keygen 本地环境配置 git config –global user.name ‘xxx’ git config –global user.email example@xx.com 本地分支与远程分支建立关联 git remote add origin yougithub git仓库 远程仓库 ↑ ...

2020-02-23 00:53:28 314

原创 js模块化发展史与commonJs,ES6模块化规范介绍

JavaScript 模块化发展史 第一阶段 在 JavaScript 语言刚刚诞生,js只用于实现小的效果,js代码通常只有几百行,专业的前端工程师还没有出现,都是后端顺带完成前端工作 大事件 1996年,NetScape将JavaScript语言提交给欧洲的一个标准制定阻止ECMA(欧洲计算机制造商协会) 1998年,NetScape在与微软浏览器IE的竞争中失利,宣布破产 第二阶...

2020-02-16 23:14:58 560

原创 聊聊es6之class

类:构造函数的语法糖 传统的构造函数的问题 属性和原型方法定义分离,降低了可读性 原型成员可以被枚举 默认情况下,构造函数仍然可以被当作普通函数使用 类的写法 在es6的class中一个类的静态方法,私有属性,原型方法均写在了一起,解决了传统构造函数的属性原型分离的问题 class Plane { // 静态属性,相当于Plane.alive static alive() { ...

2020-02-16 18:02:21 348

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除