自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cadence allergo 17.4快速导入 Library loader 元器件原理图和封装

1、安装好Library loader,第一次打开需要注册,注册好之后点开到如下页面:在“1”处设置贸泽官网上下载的元器件封装等的存储路径。2、设置原理图、封装、3D模型的存储路径。该路径和allegro软件下存储原理图、封装、3D模型的路径是一样的,见图4。点击"setttings",进入如下页面:设置完成后点击“ok”,并去掉“show library import instructions”前面的“√”,如上图所示。注:图中框出来的部分都需要修改。此处我将“pad”、“psm,dra”

2021-10-09 14:47:55 5837 6

原创 页面性能优化,如何减少回流

在开发时,不可避免的会遇到性能优化的问题,怎么做性能才会更好。说到页面性能优化,我们就谈谈两个概念重绘和回流。1、什么是重绘,什么是回流?重绘: 当渲染树中的一些元素需要更新属性,而这些属性只是影响元素的外观、风格,而不会影响布局的操作,比如 background-color、color、visibility等,我们将这样的操作称为重绘。常见的引起重绘 的属性和方法:回流:当渲染树中的一些元素的几何属性发生变化,例如大小、位置等,而这些属性会影响到布局的操作,这样的操作我们称为回流。常见引起回

2020-09-12 14:07:54 3085

原创 js事件执行机制

本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程语言,所以我们可以得出结论:javascript是按照语句出现的顺序执行的看到这里读者要打人了:我难道不知道js是一行一行执行的?还用你说?稍安勿躁,正因为js是一行一行执行的,所以我们以为js都是这样的:let a = '

2020-09-03 10:52:05 1140 1

原创 使用antd中Table组件某一列有多个变量值需要写入

使用antd的Table组件一般来说,都是一列一个变量,我们在coclums中定义dataIndex作为该列的ID,在dataSource对该ID进行赋值即可。但是,当某一列需要有多个变量值写入时,我们就不可以再用dataIndex来定义一个ID。具体解决方案如下所示:1.在columns中如下定义:columns:[{ title: '所属战区', render: (text, record) => (

2020-08-21 16:11:49 1924

原创 利用JavaScript实现禁用浏览器后退

出现的问题:一个可以选择国家和地区的弹框,弹框占据了一整个页面,当用户不想选择也就是不点击“确认”的时候,想按“返回”就直接返回到前一个页面 了,用户体验感差。出现这样问题的原因:是因为弹框在当前页面,点击“返回”的时候,的确是返回上一页。解决办法:法一:把弹框写为二级页面,但这样改动的地方比较多,比较麻烦。法二:JavaScript监听浏览器的返回事件:弹框显示的时候,禁止浏览器返回事件;弹框关闭时启用浏览器返回。查了很多资料怎么禁用浏览器返回事件。最终在这篇文章中找到了方法。自己采用了终极方案

2020-08-18 20:03:08 601

原创 移动端利用Safari浏览器在pc进行调试(ios手机safari+Safari调试(mac))

最近在进行移动端的开发,本地运行的页面样式和真机测试时样式有区别。需要在真机上调试,查找问题。需具备的条件:1.苹果手机2.苹果电脑3.数据线开始操作:1.查看电脑本机ip,控制台输入命令:ifconfig |grep inet2.打开苹果手机的端口配置,输入本机IP(xx.xx.xxx.xx),和端口(xxxx),3.打开手机上的safari浏览器,在浏览器中输入网址(本地开发时的网址),即可在真机上看到和电脑本地运行时的网页的一样的页面。此时在本地调试,真机也可以看到页面。上面的步骤只

2020-08-14 13:13:30 2734 1

转载 px、em、rem、%、vw、vh单位之间的区别?

1.pxpx就是 pixel(像素)的缩写,相对长度单位,相对于屏幕分辨率;2.em参考父元素的font-size,具有继承的特点。浏览器默认字体是16px,整个页面内1em不是一个固定的值;字体大小同样都是1.5em,但是效果却截然不同,按照W3C提供的公式,我们可以计算下: class为id1的div字体大小继承自父元素body:16px*1.5em = 24px class为id2的div字体大小继...

2020-08-12 17:27:31 321

原创 taro版本不一致,项目启动失败

由于目前taro升级了,运行命令npm install -g @tarojs/cli安装的taro版本为v3.0.5。我的项目taro版本为v1.3.13。因此需要降级,项目才能启动成功。步骤:1.运行命令 cd /usr/local/bin,进入到bin目录下,运行命令rm -rf taro把taro删除了。2.运行命令sudo npm install -g @tarojs/[email protected]重新安装1.3.13版本的taro。补充:使用npm install -g @tarojs/cli@1

2020-07-17 10:47:22 2838

转载 npm ERR! Cannot read property ‘match‘ of undefined 错误处理

运行npm install 的时候,报错。错误情况如下:npm ERR! Cannot read property 'match' of undefinednpm ERR! A complete log of this run can be ...

2020-07-16 20:27:17 562

原创 npm install 安装某个指定版本

npm i -S 包名@版本号

2020-07-16 18:34:00 1345

转载 浅析JS模块规范:AMD,CMD,CommonJS

随着JS模块化编程的发展,处理模块之间的依赖关系成为了维护的关键。模块化AMD,CMD,CommonJS是目前最常用的三种模块化书写规范。CommonJSCommonJS规范是诞生比较早的。NodeJS就采用了CommonJS。是这样加载模块:var clock = require('clock');clock.start();这种写法适合服务端,因为在服务器读取模块都是在本地磁盘,加载速度很快。但是如果在客户端,加载模块的时候有可能出现“假死”状况。比如上面的例子中clock

2020-07-13 11:24:27 139

转载 try-catch语句

try-catch 语句,作为 JavaScript 中处理异常的一种标准方式。基本的语法如下所示:try{ // 可能会导致错误的代码} catch(error){ // 在错误发生时怎么处理} 12345如果 try 块中的任何代码发生了错误,就会立即退出代码执行过程,然后接着执行 catch 块。此时,catch 块会接收到一个包含错误信息的对象。...

2020-07-10 12:04:55 168

转载 git reset 加不加 --hard的区别

通常我们提交代码一般都是 git add .,git commit -m,   git push的这么个流程。添加到暂存区,提交到git库生成版本号,push到远程仓库以供他人可以使用。这是一个完整的且非常顺利的流程。但是往往实际开发中并不是这么顺利,总会出现这样或那样的问题。git reset就是当我们提交了错误的内容后进行回退使用的命令。git reset 版本号,就是回退到该版本号上。通...

2020-07-09 17:14:55 453

转载 node版本切换或者升级方法(mac)

1.首先安装n模块:sudo npm install -g n2.升级node.js到最新稳定版sudo n stable3.升级到最新版sudo n latest4.n后面也可以跟随版本号,升级到任意版本sudo n v0.10.26或sudo n 0.10.265.切换使用版本sudo n 7.10.06.删除制定版本sudo n rm 7.10.07.用制定的版本执行脚本n use 7.10.0 some.js8.sudo n可以查看所有已安装的node版本,可以根据上下

2020-07-08 14:22:03 515

原创 如何实现防抖和节流,以及他们的使用场景是什么?

最近看了一篇博客,对于防抖和节流讲得通俗易懂,想把记录下来,分享给大家。文章链接:https://juejin.im/post/5f02710c6fb9a07e7a53ce11#heading-3

2020-07-06 10:43:24 305

转载 埋点的三种方式概述

1、第三方SDK(又可称前端数据采集)通过这种 SDK 只能够采集到一些基本的用户行为数据,比如设备的基本信息,用户执行的基本操作等。但是服务端、数据库中的数据并没有采集客户端 SDK 还有一个问题就是经常觉得统计的不准,和自己的业务数据库数据对不上,出现丢数据的情况。这是前端数据采集的先天缺陷,因为网络异常,或者统计口径不一致,都会导致数据对不上2、使用业务数据库做统计分析一般的互联网的产品,后端都是有业务数据库,里面存储了订单、用户注册信息等数据3、Web 日志进行统计分析建议:推荐尽量从后

2020-07-03 17:01:08 1186

转载 数据采集与埋点

在这篇文章里面,我们会对数据采集的一些基本概念进行阐述,然后,会针对目前市面上新增的一些前端埋点技术,如可视化埋点与“无埋点”的技术细节做一个具体的介绍,并且阐述我们自己对于这些技术的理解和认识。1. 数据采集是核心问题一个典型的数据平台,对于数据的处理,是由如下的5个步骤组成的: 其中,我们认为,第一个步骤,也即数据采集是最核心的问题。数据采集是否丰富,采集的数据是否准确,采集是否及时,都直接影响整个数据平台的应用的效果。在我们手册的典型场景的数据接入方案中,我们已经阐述...

2020-07-03 15:44:10 340

原创 图解HTTP缓存

今天看到一篇关于HTTP缓存的,讲得很好,推荐给大家。网址:https://juejin.im/post/5eb7f811f265da7bbc7cc5bd

2020-06-19 10:30:22 125

原创 ssh-add命令

转载自:https://man.linuxde.net/ssh-add

2020-06-17 20:10:29 206

转载 package.json里面配置的啥

{ "name": "Hello World", // 包名. "version": "0.0.1", //包的版本号 "author": "张三", //包的作者 "description": "第一个node.js程序", //包的描述 "keywords": [ //关键字。方便使用者在 npm search中搜索。格式为字符串。 "node.js", "javascript" ], "repository": { //用于指示源代码存放的位置 "t

2020-06-17 20:08:30 380

转载 箭头函数和普通函数的区别

基本用法箭头函数let sum = (a, b) => { return a + b;}复制代码普通函数var sum = function (a, b){ return a + b;}复制代码区别之前看阮一峰前辈 es6 文章里提过这个知识...

2020-05-16 21:56:28 172

原创 如何实现div盒子水平垂直居中

实现DIV盒子水平垂直居中的方法多种,在这里将介绍几种常用的。flex:在父容器上设置,让主轴和侧轴的子元素排列方式都为center//父容器display:flex;justify-content:center;align-items:center;position:子绝父相,margin设置为auto;top/right/bottom/left的值都设置为0//父容器position:relative;//子容器position:absolute;margin:auto;

2020-05-14 20:28:28 296

原创 浅谈对css模型的理解

1、什么是css模型?可以说,页面就是由一个个盒模型堆砌起来的,每个HTML元素都可以叫做盒模型,盒模型由外而内包括:外边距(margin)、边框(border)、内边距(padding)、内容(content)。它在页面中所占的实际宽度是margin + border + padding + content 的宽度相加。css的盒模型有两种:标准盒模型和IE盒模型。分别如下图所示:2、两种盒模型的区别由上图可以看出:在标准盒模型中height,width值是content部分;而IE盒模型中,

2020-05-14 19:51:27 231

转载 CSS解析误解-选择器的从右向左解析

对于下面两种css写法,相信很多人和我想的一样ul.new-ul{…..}比.new-ul{….}更高效。 其实我们的理解貌似没有错。如果在类名前面加上标签的话,这样浏览器就可以先找到所有对应的标签,然后匹配类名,这样就不用全局匹配了,查找速度自然会快很多。我们这样的理解,意味着选择器解析是从左往右的,就像jQuery的选择器一样。但是,实际上,css选择器的解析是从右往左的。也就...

2020-05-14 10:19:06 485

原创 为什么会产生跨域,以及解决跨域的方法

一、跨域1、为什么会产生跨域答:因为浏览器的同源政策,就会产生跨域。比如说发送的异步请求是不同的两个源,就比如是不同的的两个端口或者不同的两个协议或者不同的域名。由于浏览器为了安全考虑,就会产生一个同源政策,不是同一个地方出来的是不允许进行交互的。2、怎么解决跨域解决跨域的方法:第一种jsonp的方法,但是由于它的安全性太低了,现在很多都不用了。第二种使用CORS解决跨域问题,即跨域资源共享,在后端设置响应头部,加一句代码:access-control-allow-origin:"*"或者允许交互的

2020-05-08 23:53:28 9131

原创 什么是闭包,闭包的使用场景、闭包的优缺点,以及解决内存泄露的方法

1、定义:闭包是指有权访问另一个函数作用域中变量的函数。有局部变量才会有闭包。2、闭包的用途:访问函数内部的变量防止函数内部的变量执行完城后,被销毁,使其一直保存在内存中。3、举个闭包的例子function sayHi(name) { return () => { console.log(`Hi! ${name}`) }}const test = sayHi('xiaoming')test() // Hi! xiaoming虽然sayHi函

2020-05-08 20:12:41 2913

原创 web前端布局之flex布局

总的来说,flex布局的原理通过给父元素添加flex属性,来控制子元素的位置和排列方式。采用flex布局的元素称为flex容器。flex容器中存在两条轴,分别为主轴和侧轴,容器中的每个单元称为flex项目。在容器上可以设置6个属性:分别为:(flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-conten...

2020-05-08 00:03:20 553 2

转载 web前端开发之几种布局方式之响应式布局

一理解几种布局的概念1、静态布局(Static Layout)即传统Web设计,对于PC设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分; 意思就是不管浏览器尺寸具体是多少,网页布局就按照当时写代码的布局来布置; 对于移动设备,单独设计一个布局,使用不同的域名如wap.或m.。2、弹性布局弹性布局是CSS3引入...

2020-05-07 23:48:00 937

原创 传统布局方式二---浮动,以及清除浮动的方法

一、浮动(float)的定义使元素脱离文档流、按照指定方向发生移动,遇到父级元素或者相邻的浮动元素停了下来。文档流:文档流是文档中可显示对象在排列时所占用的位置。float 的属性值为left、right、none二、浮动的特性浮动元素会脱离标准流(脱标)浮动的盒子不再保留原先的位置浮动的元素会一行内显示并且元素顶部对齐浮动的元素会具有行内块元素的特性三、为什么要清除浮动...

2020-05-05 23:42:01 137

原创 传统的页面的布局方式一普通流(标准流)

所谓的普通流 (normal flow): 就是元素按照其在HTML中的先后顺序至上而下布局。1、块级元素会独占一行,从上向下顺序排列。常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table2、行内元素水平排列,直到当行被占满然后换行常用元素:span、a、i、em 等...

2020-05-05 23:06:34 341

原创 git提交代码报错解决方法 Git-remote Incorrect username or password ( access token )

git提交代码的时候报错错误原因:用户名或者密码输入错误解决办法:第一步:第二步:第三步:找到对应仓库的凭证(如下图所示),删除第四步:重新运行以下代码,提交到远程仓库:git remote add origin https://gitee.com/an_dong/shop.gitgit push -u origin master...

2020-05-02 22:45:07 447

原创 npm run serve报错“npm ERR! missing script:start”

npm run serve报错“npm ERR! missing script:start”,如下图所示:有可能是缺少依赖包,node_modules文件夹就是依赖包解决办法:把之前安装的node_modules文件夹删除,运行npm install重新安装依赖。之后在运行npm run serve...

2020-04-24 10:39:09 4757

原创 npm run serve 报“npm ERR! enoent ENOENT: no such file or directory, open 'F:\XXX...\package.json'”

npm run serve报找不到package.json,查了代码没问题命令也没问题,怎么回事呢。弄了半天才发现是犯了一个低级错误:没有进入我的项目的文件夹,直接在终端界面输入的npm run serve。解决办法就是进入想要启动的项目的文件夹,在运行npm run serve...

2020-04-24 09:35:14 1379

转载 Nodejs卸载、安装及环境配置

1、下载安装包下载地址:https://nodejs.org/zh-cn/download/根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包.msi和.zip格式区别:1)、.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相...

2020-04-23 21:48:48 15956

原创 vuex的基本用法

本文内容包括一下几点:文章目录1、Vuex 概述1.1 组件之间共享数据的方式1.2 Vuex 是什么1.3 使用 Vuex 统一管理状态的好处1.4什么样的数据适合存储到 Vuex 中2.Vuex 的基本使用2.1.安装 vuex 依赖包2.2导入 vuex 包2.3创建 store 对象2.4将 store 对象挂载到 vue 实例中3.Vuex 的核心概念3.1 核心概念概述3.2 Sta...

2020-04-23 10:32:54 110

原创 react中link组件和传统a链接的区别

react路由的实现的a标签跟原生的a标签有什么区别区别就是:link对这个a标签进行特殊的处理,绑定了自己的点击跳转视图的函数先看Link点击事件handleClick部分源码if (_this.props.onClick) _this.props.onClick(event);if (!event.defaultPrevented && // onClick prev...

2020-04-21 17:36:11 2011

转载 vue中router-link和传统a链接的区别

Vue-router是伴随着Vue框架出现的路由系统,它也是公认的一种优秀的路由解决方案。在使用Vue-router时候,我们常常会使用其自带的路径跳转组件Link,通过实现跳转,这和传统的何其相似!但它们到底有什么具体的区别呢?官方中给出的解释是这样的...

2020-04-16 20:52:06 537

原创 异步解决方案和发展历程

这里打算做个promise的总结1、promise主要解决异步深层嵌套的问题2、用法3、自己实现过吗4、api1)all2)race3)catch 捕捉错误的4)finally:不管成功与失败都会执行(用then可以模拟catch的效果吗)6、promise最大的缺点就是不能取消7、axios 怎么做到取消的,axios因为有cancelToken机制,就可以做到取消axio...

2020-04-16 00:23:34 329

原创 提高代码效率-----vscode中用标签结构快速生成样式结构的方法

1、在vscode中安装CSS tree插件2、选中标签样式3、按快捷键ctrl+shift+p出现以下窗口此时会生成一个文件4、整理一下这个文件,把前面的标签名(view,navigator等)删除,再把undefined删除统一删除标签名的方法:1)选中要删除的标签名2)CTRL+Shift+L 选中所有的目标变量3)按删除键5、把处理好的文件样式粘贴到样式文件中就...

2020-04-11 10:16:47 1853 2

原创 web中的本地存储和小程序中的本地存储的区别

1、写代码的方式不一样1)web: localStorage.setItem(“key”,“value”) localStorage.getItem(“key”)2)小程序中: wx.setStorageSync(“key”, “value”); wx.getStorageSync(“key”);2:存的时候 有没有做类型转换1) web: 不管存入的是什么类型的数据,最终都会先调用以下 ...

2020-04-09 14:56:21 233

空空如也

空空如也

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

TA关注的人

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