自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 husky v8+prettier+lint-staged+commitlint配置

配置 husky + lint-staged + commitlint

2022-08-12 17:12:02 2410

原创 vue 引入echart地图组件

记录一下echart引用地图的方法:当前使用echart版本为4.2.1html部分<template> <div class='echarts' ref="mapChart"></div></template>js部分<script>import echarts from 'echarts' import china from 'echarts/map/json/china.json' // 引入中国地图json数据ex

2022-04-28 17:43:14 899

原创 react 项目优化

清除console.log很多时候测试的时候,为了方便查看数据找bug会在代码之间穿插着console.log()在页面控制台进行打印测试,但在打包的时候删除了所有console.log也还是会出现也两个甚至是警告,这样一来可以通过配置weboack来解决这个问题。解决方案安装terser-webpack-plugin插件yarn add terser-webpack-plugin在webpack.config.js中引用这个插件const TerserPlugin = require('te

2022-01-26 17:24:44 1203

原创 使用canvas简单绘制时钟

html部分: <canvas id="canvas" width="800" height="600"></canvas>js部分:class Clock { constructor(){ this.canvas = document.getElementById('canvas'); this.ctx = this.canvas.getContext('2d'); } init(){

2021-07-18 20:13:16 270

原创 Vue-router按需加载组件解决方法

现在可以看到官网说明按需加载组件的方式如下:// vue异步组件和webpack的【代码分块点】功能结合,实现了按需加载const App = () => import('../component/Login.vue');我们在使用时通常会报这样的错:Module build failed: SyntaxError: Unexpected token可以发现是import报错,是因为babel解析不了的原因需要下载插件cnpm install babel-plugin-syntax-

2021-06-14 00:17:21 469

原创 vue简单实现移动端选项卡

html部分:<div id="app"> <navlist></navList></div> <template id="index0"> <h1>这是推荐内容</h1> </template> <template id="index1"> <h1>这是男装内容</h1> </template> <template

2021-06-05 21:40:46 515

原创 Go语言之函数

函数定义func 函数名(传参类型) 返回值类型{}func main() { r := sum(1,2); fmt.Println(r) // 3 test(); // aaa m,n := text(); fmt.Println(m,n) //1 aa}// 返回数值类型func sum(x int,y int) int{ return x + y;}// 没有返回值func test(){ fmt.Println("aaa")}// 返回值可以命名变

2021-06-01 23:42:12 182

原创 Go语言之Map

mapmap是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才可以使用。定义var a1 map[string]int; // 还没有初始化(没有在内存中开辟空间)fmt.Println(a1); // map[]fmt.Println(a1 == nil); // truea2 := make(map[string]int,10) // 要估算好map的容量,避免在运行过程中动态扩容fmt.Println(a2) // map[]fmt.P

2021-05-28 21:45:06 135

原创 Go语言之指针

指针Go语言中不存在对指针的操作,只需记住两个符号:&: 取地址*: 根据地址取值n := 10;p := &n;fmt.Println(p)fmt.Printf("%T\n",p); // *int int类型的指针m := *pfmt.Println(m); fmt.Printf("%T\n",m) // int类型取地址操作符&和取值操作符*是一对互补操作符,&取出地址,*根据地址取出指向的值。new先来看个小例子:var a

2021-05-27 22:54:27 295

原创 Go语言之切片的append和copy

append() 为切片追加元素先看个例子:arr := []int{1,2,3};arr[3] = 4; // 错误写法会提示索引越界fmt.Println(arr) 调用append函数必须用原来的切片变量接受返回值arr := []int{1,2,3};fmt.Printf("len(arr)=%d cap(arr)=%d",len(arr),cap(arr));// len(arr)=3 cap(arr)=3arr = append(arr, 4)fmt.Printf("le

2021-05-26 01:06:10 731

原创 Go语言之切片

引子因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性,比如:a := [3]int{1,2,3}这样的数组a定义了3个元素,并且不能再继续往数组内存数据。切片(slice)切片是一个拥有相同类型元素的可变长度的序列。它是基于类型做的一层封装,它非常灵活,可以自动扩容,切片是一个引用类型,都指向了底层的一个数组,它的结构包含地址、长度 和容量。一般用于快速操作一块数据集合。(十分类似于Java的 list)定义切片var s1 []int; // 定义一个存放int类

2021-05-24 15:38:15 171

原创 Go语言之数组

数组数组是同一类型元素的集合。在Go语言中,数组从声明时就确定,使用时可以修改的数组成员,但是数组大小不可变化。基本语法:// var 数组变量名 [元素数量]Tvar a [3]int数组的初始化,如果不初始化将变为默认值(布尔:false、整数和浮点: 0、字符串: “”)a1 = [3]bool{true,true,true};fmt.Println(a1); // [true,true,true]根据初始值来判断数组长度多少a2 := [...]int{0,20,3};根

2021-05-12 19:53:39 345

原创 Go语言 之 流程控制

if 语句判断表达式是否正确,如果正确则执行age := 20if age > 18 { fmt.Println("可以开车啦!")}else{ fmt.Println("好好读书!");}多个判断age := 20if age > 18{ fmt.Println("可以开车啦!")}else if age > 30{ fmt.Println("好好赚钱。");}else{ fmt.Println("好好读书!"); }for循环go语言中没有其他循

2021-05-11 21:23:44 122

原创 Go语言 之 变量声明

声明变量变量可以声明为全局变量和局部变量,在函数外声明为全局变量,函数内声明为局部变量声明变量方式为 var 变量名 数据类型package mainvar age int;func main(){ var name string; var flag bool}最新版本中go可以不用声明数据类型,通过插入的值作为判断来声明变量类型var age = 1;var name = "小明"需要注意的一点是,声明局部变量不引用会报错并且无法编译,而全局变量并不会有这个问题引用后

2021-05-09 17:42:40 316

原创 Go语言安装配置运行

安装Go首先去官网下载Golanghttps://golang.google.cn/dl/下载好后傻瓜式安装,安装完成后,打开cmd命令行输入go version测试是否安装成功配置GOPATH首先新建一个文件夹作为工作区,可以是在任意盘中,前提是目录必须为英文,这里我就在go的文件夹下新建一个workplace 文件夹复制该文件目录地址后,按住win + Pause Break键打开控制面板再点击高级系统设置点击环境变量在系统变量中新建一个GOPATH变量,值为刚才新建的文件夹

2021-05-07 02:47:56 773

原创 为什么要学习Go语言?

什么是Go语言?Go语言(又称Golang)是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,可以说是21世纪的C语言。这时候就会有人问了,为什么Go语言可以被称为21世纪的C语言呢?我们先来看一下目前各个主流语言诞生的时期。由上面图片可以看出,无论是C、C++、Java这些强大的语言都是诞生于上个世纪90年代甚至更早,当时环境普遍都是单核处理器的时代,直到2005年AMD公司才发行第一款双核处理器,因此像C语言、C++等等,想要跑满整个CPU需要大量的框架、语法

2021-05-07 00:35:15 225

原创 封装mongodb数据库操作

let MongoClient = require('mongodb').MongoClient;let url = 'mongodb://localhost:27017';class DB { constructor(database,collection){ this.database = database; this.collection = collection; this.connection; this.db; } /** * *

2021-05-01 14:22:20 171

原创 mongodb

关系型数据库有哪些?非关系型数据库有哪些?两者区别答:关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过这些关联的表格分类、合并、连接或选取等运算来实现数据的管理。代表产品:oracle、MySQL、mariadb、SQLserver非关系型数据库也被称为 NoSQL 数据库,NoSQL 的本意是 “Not Only SQL”,指的是非关系型数据库,NoSQL 的产生并不是要彻底否定关系型数据库,.

2021-04-30 00:45:11 172

原创 dom 知识点

Dom:文档对象模型 – 能够操作一切结构化文档的通用api核心Dom – API繁琐,功能很全: 增删改查HTMLDom – 基于核心Dom, 扩展专门操作HTML内容的API,简单易用,主要重点简化了修改的操作核心Dom:Dom Tree: 网页加载内存的时候,会先创建一个document对象,指代当前页面中的所有内容: 元素,文本,属性,注释等,都叫做节点对象。document作为DomTree根节点存在的,所有的子节点都是document对象的子节点(Node)节点对象的类型:

2021-04-30 00:31:09 207

原创 js 重载 和 闭包

重载:程序中定义多个相同函数名,不同参数列表的函数,在调用时根据入参数的不同,动态的选择匹配的函数执行操作function calc(a){ return a*a;} function calc(a,b){ return a+b; } console.log(calc(4)) // NaN console.log(calc(4,3)) // 7为了解决多种参数问题 可以利用 argument s数组实现多参数调用function calc(){ if(argument.

2021-04-29 16:42:10 174

原创 原型链图

2021-04-28 14:54:01 138

原创 原生js 实现2048小游戏

js代码:var game = { data: [], line: 4, column: 4, score: 0, /**游戏开始键 */ start(){ this.data = [ [0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0] ] this.randomNum(); this.randomNum(); this.updataView(); },

2021-04-24 18:59:35 185

原创 前端面试题汇总

1、css的居中方式margin:0 auto;/*(适用于行内元素)*/text-align:center; position: absolute;top: 0;left: 0;bottom: 0;right: 0;transfrom: translate(-50%,-50%);float: right;padding: 10px;display: flex;2、px,em,rem,%一、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。二、em和rem相

2021-04-18 15:34:37 2143

原创 Vue中数组/对象更新后视图不触发更新原因

Vue文档中对于响应式原理有提到如下注意事项:由于 JavaScript 的限制,Vue 不能检测数组和对象的变化。尽管如此我们还是有一些办法来回避这些限制并保证它们的响应性。这也就是说问题描述:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sen

2020-12-14 16:08:55 1698

空空如也

空空如也

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

TA关注的人

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